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

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

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

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

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

分享给朋友:

相关文章

OZON平台什么产品好卖?

ozon选品的核心重点我不说 你们全网也不见说的这么干的教学了 你信我就按照我说的思路去走 不信的出去买课去 一时间消化不了的先点赞收藏起来 真不中了下载也行 因为最近总有坏人给我使诈 平台已经下了我八个视频了 还都是实操教学不废话的那种…

为什么我感受不到 1500 元的手机比四五千的差?

我长期使用两千元左右的安卓机,一天接近8小时的重度手机使用者。 某天我突然想试试看传说中非常赛艇的苹果。狠了心,砸了钱。七千大样买了爱疯。 就这?什么辣鸡玩意。而且因为我一直更新软件,用了两年爱疯就卡了。并没有传说中的用四五年不卡。 用了这…

拼多多,怎么就成为了年轻人的「赛博菜市场」?

拼多多,怎么就成为了年轻人的「赛博菜市场」?

可惜你不在拼多多买水果蔬菜,很难一句话跟你解释,我只能笨拙的用经历来慢慢讲。 我们公司有微波炉,同事们几乎都是自己带饭来上班,便当荤素搭配、水果零食;都是好看又好吃。 我自己本来就不喜欢外卖,当然也加入了带饭大军: 直到某一天深夜我闲着…

WordPress建站同时面向B端和C端,有什么好的解决方案?

这个很容易实现呀,只不过需要自己开发,整体用权限管理就可以实现了,B端和C端是不同用户权限,C端能看到的菜单入口和B端不一样就行了。技术层面实现没问题的,只不过就是看你们的技术能力和投入了 ,这样的需求应该没有现成的开源插件。只能找人定制开…

如何进行 Elasticsearch 调优实践?

如何进行 Elasticsearch 调优实践?

面试官心理分析这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s ,坑爹了。第一次搜索的…

发表评论

访客

看不清,换一张

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