HelloType:JS运行时数据类型检查工具

广告位招租
扫码页面底部二维码联系

【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net

JS运行时数据类型检查工具,3秒钟把锅丢本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。回给后端

【未经授权禁止转载】【未经授权禁止转载】【作者:唐霜】本文作者:唐霜,转载请注明出处。

进入GitHub主页【原创内容,转载请注明出处】 使用文档【未经授权禁止转载】

著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。

 原创内容,盗版必究。

【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。

HelloType是一个api设计简单的本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.netjs运行时的数据类型检查工具,它可以帮助【本文首发于唐霜的博客】【本文首发于唐霜的博客】你的js程序在使用某个(组)变量前,对变【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。量的数据类型进行检查,防止在使用变量进行未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。运算时由于数据类型不同导致报错。

本文作者:唐霜,转载请注明出处。【转载请注明来源】本文作者:唐霜,转载请注明出处。【作者:唐霜】

虽然我们已经有typescript,但是原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】它只能在编译时进行静态数据类型检查,而不【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。能进行动态的运行时数据检查。而Hello【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.netType就是想补充这个空缺。它的使用方法未经授权,禁止复制转载。未经授权,禁止复制转载。非常简单,api设计非常容易理解,并且语著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net义化。

【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】

解除API数据格式烦恼本文版权归作者所有,未经授权不得转载。

【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。【本文受版权保护】【版权所有】唐霜 www.tangshuang.net

前端通过读取后端接口返回的数据进行界面渲【原创内容,转载请注明出处】【未经授权禁止转载】染,但是经常碰到的问题是,前端对后端数据著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。无比信任,按照大家约定的格式读取数据,但【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。是,突然有一天深夜,监控系统突然报警,南【未经授权禁止转载】未经授权,禁止复制转载。非的大老板进去页面后不断产生错误。作为有原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net修养的程序员,果断cmd+opt+I打开【转载请注明来源】【版权所有】唐霜 www.tangshuang.net开发者工具,一看,一堆红色报错,就像心脏本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。滴血。经过一整夜的奋战,最后发现,原来是著作权归作者所有,禁止商业用途转载。【转载请注明来源】后端发布了新版本,在一个关键接口的返回数未经授权,禁止复制转载。【转载请注明来源】据中,统一将数值型的返回值修改成了字符串未经授权,禁止复制转载。【关注微信公众号:wwwtangshuangnet】的数字。内心一阵MMP之后,你现在终于有本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net了HelloType。

原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。

通过hello-type提供的方法,创建【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。具有一定格式的数据结构

【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。

当你使用HelloType创建了一个特定【转载请注明来源】【作者:唐霜】的数据结构容器之后,利用这个容器,和接收【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】到的API数据进行对比,就可以知道API本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】返回的数据格式是否符合本地规定的格式,数【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net据节点上的数据类型是否是规定的数据类型。原创内容,盗版必究。【作者:唐霜】一旦API返回的数据格式、类型不符合要求【原创不易,请尊重版权】【未经授权禁止转载】,你就可以追踪到这个错误,并且把错误发送【本文受版权保护】【原创不易,请尊重版权】到你的监控系统,并且通知后端同学“你们改【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】数据类型不通知下游团队,是要药丸吗?”

转载请注明出处:www.tangshuang.net【本文受版权保护】【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。

无侵入检查函数的输入输出【关注微信公众号:wwwtangshuangnet】

本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】【作者:唐霜】【关注微信公众号:wwwtangshuangnet】

TypeScript是前端语言的一次升级【作者:唐霜】本文版权归作者所有,未经授权不得转载。,然鹅,它只在编译时对项目内的数据类型做【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。检查,而无法做到运行时的类型检查。除了a【原创内容,转载请注明出处】【原创不易,请尊重版权】pi的数据是不可测的以外,用户输入的数据【本文受版权保护】本文版权归作者所有,未经授权不得转载。也不可测,你还会用第三方库吧,或者你自己转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】现在就在写一个第三方库,但凡跨项目的代码【未经授权禁止转载】【本文首发于唐霜的博客】,就会有不可测的数据类型。为了学习Typ本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。eScript的接口、范型,你大刀阔斧的【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。改项目代码,最后上线了,看看监控系统,内【转载请注明来源】【原创不易,请尊重版权】心MMP……

【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。

利用ES7装饰器,快速对某个方法的输入输著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】出的数据类型进行限制

【作者:唐霜】【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】

如果你和我一样超级懒不想为了编写一大堆接【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】口、范型、类型写一大堆和业务本身无关的t【版权所有,侵权必究】原创内容,盗版必究。s代码时,HelloType给你直观的感【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】受,而且完完全全是ES语法,不带半点地方本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】方言。

【原创内容,转载请注明出处】原创内容,盗版必究。原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。

静静地追踪数据类型错误【本文受版权保护】

本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】未经授权,禁止复制转载。

对业务代码的大举侵入是最讨厌的是,对于我本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】的应用而言,已经做好了程序报错时的万全准著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net备,那就是——提示用户系统出错了!!既然未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。这样,HelloType可以帮助你收集数【版权所有,侵权必究】【本文首发于唐霜的博客】据类型错误,让你的代码做一段安静的代码。

【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。原创内容,盗版必究。【本文首发于唐霜的博客】未经授权,禁止复制转载。

利用一个全局函数,抓取错误信息,并将错误【版权所有,侵权必究】【本文受版权保护】信息通过ajax请求上传到服务器

本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。

HelloType中到trace方法完全转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net异步,彻底的异步执行,不影响界面的渲染,【作者:唐霜】【未经授权禁止转载】在追踪到数据类型报错之后,异步执行wit著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】h方法中的函数,这个函数是自定义的,因此【本文受版权保护】【原创内容,转载请注明出处】你可以在这个函数里面做任何事情,但它是异转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】步的,你可以收集日志,然后上传到监控系统本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】,干得漂亮。

未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。

兼容模式和严格模式【原创不易,请尊重版权】

本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】转载请注明出处:www.tangshuang.net原创内容,盗版必究。

HelloType默认是兼容模式对数据进【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】行检查的,所谓兼容模式严格模式,主要是针【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。对数组和对象而言。兼容模式下,一个被检查【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】的对象如果属性比规定的要多,并不会报错,【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】只要规定的那部分属性数据类型检查没报错即本文版权归作者所有,未经授权不得转载。【转载请注明来源】可。严格模式下,数组的元素个数必须和规定【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。的一样,不能多也不能少,即使IfExis著作权归作者所有,禁止商业用途转载。【作者:唐霜】ts,也会被忽略,必须遵守严格模式。对象【本文受版权保护】【本文首发于唐霜的博客】的话,主要是属性必须和规定的相同,不能多【作者:唐霜】【原创不易,请尊重版权】也不能少,IfExists也一样被忽略。

【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.net

由于多了height属性,会报错。通过s【本文受版权保护】【原创不易,请尊重版权】trict属性获取一个类型容器的严格模式【本文受版权保护】转载请注明出处:www.tangshuang.net状态,对结构比较严格要求的情况非常有用

【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。

另外,还有一个方法可以开启严格模式:to本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。BeStrict()。它直接改变当前容器【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。为一个严格模式的容器。在必要的时候使用它【本文受版权保护】【未经授权禁止转载】会让代码显得很精炼。例如:

本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】【本文首发于唐霜的博客】【访问 www.tangshuang.net 获取更多精彩内容】
const SomeType = Dict({
  body: Dict({ name: String }).toBeStrict(), // 使用Dict直接作为规则的时候,由于只会在这里用到一次,所以直接调用toBeStrict()比较好
})

小结【未经授权禁止转载】

【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。【作者:唐霜】【本文首发于唐霜的博客】

JS的数据类型本身的混乱对于开发者而言,【原创不易,请尊重版权】【本文首发于唐霜的博客】简直就是噩梦,但是HelloType让你【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net可以睡个好觉。通过非常合理的代码布局,让【版权所有,侵权必究】转载请注明出处:www.tangshuang.net你可以非常优秀的拦截由于数据类型问题产生著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。的bug。而且,由于它是基于Error,著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】所以调试起来非常方便,对于监控而言也非常本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】有利,利用它,可以收集具体的错误数据,上【作者:唐霜】未经授权,禁止复制转载。报到服务端,由服务端对自己输出的数据格式转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。和类型进行纠正。

本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。

立即使用【本文受版权保护】

【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】本文作者:唐霜,转载请注明出处。【转载请注明来源】【原创内容,转载请注明出处】

(完)【版权所有,侵权必究】

【本文受版权保护】【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。

 【作者:唐霜】

【未经授权禁止转载】【版权所有,侵权必究】【原创内容,转载请注明出处】

如果你觉得这个工具的想法还不错,记得在G本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】itHub上给个star~
【原创不易,请尊重版权】【转载请注明来源】 未来一段时间打算写一个在线说明文档,帮原创内容,盗版必究。转载请注明出处:www.tangshuang.net助使用者更好理解这个工具

未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】

2018-08-20 6275 , ,

为价值买单,打赏一杯咖啡

本文价值62.75RMB