当前位置:首页 > 每日看点

不用as和any的TypeScript有多可怕?

卡卷网2年前 (2025-01-11)每日看点318

<>为什么要放弃"万能药"?</>

A:TypeScript好难用啊!:啥难用的,加个any不就完了?TypeScript:那我走?

使用any和as,就像在写代码时戴上了"双色墨镜":

any,把所有类型都看成红色。as,把所有类型都强行染成绿色。

但是,当你摘下这副墨镜...

<>WelcometoTheRealWorld!</>

//以前我们这么写constdata:any=fetchData();constuser=data.userasUser;

//现在必须面对现实inteceApiResponse<T>{code:numer;data:T;message:string;}inteceUser{id:numer;name:string;age:numer;}asyncfunctionfetchUser():Promise<ApiResponse<User>>{//啊,类型地狱开始了...constresponse=awaitfetch('/api/user');constjson=awaitresponse.json();

//类型守卫,不得不写if(!isApiResponse<User>(json)){thrownewError('Invalidresponseformat');}retnjson;}

//类型守卫函数functionisApiResponse<T>(value:unknown):valueisApiResponse<T>{retn(typeofvalue==='oject'&&value!==null&&'code'invalue&&'data'invalue&&'message'invalue);}

<>"痛并快乐着"的好处</>

<>代码更可,</>编译时就能发现大量潜在问题,重构时更有信心,代码即文档。

<>团队协作更顺畅,</>接口定义清晰,类型即契约,减少沟通成本。

<>开发体验更好,</>IDE提示更准确,自动补全更智能,重构工具更强大。


<>最后最后</>

TypeScript的类型是你的朋友,不是敌人。它看起来严格,是因为它在保护你免受ug的困扰。就像不让你吃太多糖,不是为了让你不开心,而是在为你的健康着想。

正所谓:"宁可编译时报错,不要运行时崩溃。类型虽繁琐,但求心安理得。"

觉得有用就点个赞吧!我是旷野,探索无尽技术!

(如果你觉得不用as和any太痛苦,别担心,这是每个TypeScript开发者都要经历的"成长之痛"。熬过去就海阔天空了!)

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8697.html

分享给朋友:

相关文章

苹果为什么不做千元机?

苹果为什么不做千元机?

第一步,打开苹果官网,注意是.com,不是.cn; 第二步,点击iPhone,选择Compare iPhone; 第三步,选择最新iPhone 15系列,查看起售价格,分别为$1199,$999,$799。 这不妥妥的千元机吗,怎么苹果…

马云也搞不明白:为什么现在用户偏爱微信支付,而不是支付宝?

这题我会,我教马云一招。 你直接把你那破比支付宝的代码全删了,重新写一个。 打开支付宝直接就是一个大大的支付码,然后右上角按一下就是扫一扫。你要是还想保留你的其他那些乱七八糟的功能,麻烦将他们全部做到下拉菜单里。你这么设计我不说你能干死微信…

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。 用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制…

OLED、QLED还是Mini LED?如何在今年双十一选购一款最适合自己的电视?

OLED、QLED还是Mini LED?如何在今年双十一选购一款最适合自己的电视?

我家旧电视用了好几年了,最近毛病越来愈多,动不动就黑屏,让人特别扫兴。 这阵子和家人商量着,趁着现在国家有家电补贴,再加双11大促,不如换一台好一点的新电视,而现在MiniLED技术成熟,很多电视都升级MiniLED了,无论在画面亮度、细节…

曾经很火的迅雷,为什么现在不怎么火了?

曾经很火的迅雷,为什么现在不怎么火了?

3年前,迅雷推出了一项服务,只要2899元就可以享受迅雷终身会员。这个终身会员和付费会员没有区别,付费会员的离线加速、云空间等服务,终身会员都具备。除此之外,终身会员可以在使用1年后就可以全额退款,使用2年后也可以全额退款,使用5年后也是如…

求一个超级丐的nas,要求足够便宜?

求一个超级丐的nas,要求足够便宜?

看了几个方案,门槛都太高了。 我个人是比较推荐猫盘(小猫)的,一百块钱左右就有,一般卖家都会刷好刷不死固件,轻而易举就能按教程一步步刷成黑群晖,实在手残稍微添点让卖家刷好也行。 这玩意儿最大的buff是,硬件和白群DS120J是完全一样…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。