TS真是个磨人的小妖精,但我越来越爱它了

第一次用TS写项目磨人的时候,我差点把键盘摔了。明明JS写得好好的。非要加类型了,报错报得我怀疑人生。可三个月后,当我重新的构造那个两千行的老模块时,TS帮我揪出了十几个潜在bug吧?那一刻我就知道,这“小妖精”我娶定了。TS最打动我的,就是它给代码带来的“安全感”。记得上周五,同事把后端返回的user对象直接扔进组件里。

结果user.name在某种情况下是undefined,页面上直接白屏,要是用了TS。这错误在编译期就会被拦下来。我自己也经历过类似的事是一个配置文件里的端口号被误写成字符串,服务启动时悄悄转换成数字,看似没事,在特定环境下就崩了。

TS的type系统就像随身带的妖精越爱安检仪,把这类脏数据挡在门外。TS也不是没脾气。有时候你明明觉得类型是对的,它偏要给你标红。特别的碰上第三方库没写好声明文件,或者要跟一些动态语言的脚本互通时,那种“any大法”用完又心虚的感觉,真叫人头大。我一度为了搞定一个复杂的联合类型,在类型体操里折腾了两小时。最后发现直接用interface继承更简单。说白了,TS不是万能的,它让你在写代码的时候不得不把边界想清楚,这本身就是一种进步。

还有个细节挺有意思,自从用了TS,团队里新人的上手速度反而快了。以前看JS代码全靠猜。

现在看TS代码,函数参数是什么类型、返回什么结构啊?一眼就明白。前阵子带实习生,他拿着TS写的接口定义,自己就理清了数据流转,基本没来问我。我觉得这才是TS真正的价值是它就是一种沟通语言。代码仅是给机器跑的,是给人看的,TS让“人话”和“机器话”之间多了一层桥梁。现在,如果有人问我该不该学TS,我会说,不要犹豫,直接上,哪怕一开始别扭呢,哪怕被类型错误折磨得想骂人呢?坚持一个月。

你就会发现,没了TS反而不习惯了。它就像习惯了眼镜的人突然摘下眼镜是世界还在,模糊了。反正我现在的个人项目全部用TS,连写个脚本都想加个类型标注。也许这就是“由奢入俭难”吧。

本文来自网络,不代表本站立场,转载请注明出处: https://www.bjzhgmyxgs.cn/article/315.html

上一篇:S14开赛这半个月,我差点把年假都搭进去

下一篇:韩江边上的日子,慢得让人舍不得走

相关文章