为什么我们需要 TS ?

716次阅读  |  发布于2年以前

文中不少观点的想法系个人见解,有一定的个人局限性,欢迎交流

现状

1、通过 ESLint 检测代码错误

这里忽略 typescript-eslint,因为其本质是利用了 TS 的类型信息来辅助 lint

2、不丝滑的编码体验

image.png

image.png

引入 TS

*TypeScript is like JavaScript but with no surprises.*

相比于 JS,TS 设计的初衷是面向大型项目和工程的,目的是提升 JS 项目编码的生产效率和便利性的。

1、TS 流行趋势

下图是 The State of Javascript, 2018 的调研结果,很明显开发者对于 TS 的健壮性和编码风格/模式非常喜爱。

在随后的 The State of Javascript, 2021,编译到 JS 的语言中,TS 也有非常高的使用率。

而 StackOverflow 2020年 开发者调研 中显示,TypeScript 是 2020 年第二受喜爱的编程语言。

在随后的 StackOverflow 2021年 开发者调研 中 TypeScript 被选为开发者们最想尝试的语言之一。

2、Pros

3、Cons

"竞争对手"

1、JSDoc

2、Intellicode/Tabnine/Copilot

3、Flow

4、Kotlin/Elm/ReScript

5、Rust/Go

对于上述提到的各类 “竞争对手”,我们可以看出,有一部分并非真正意义上的竞争对手,他们本身跟 TS 的引入没有冲突,并且可以合理的共存。也有部分竞争对手,或者被后浪拍死在沙滩上,或者并不适合与当前项目的技术选型。

总结

相较于学习成本/引入成本,我们相信引入 TS 会给项目注入更多生命力,而当我们引入 TS 之后,也依然有很长的路要走。毕竟

any 一时爽,重构火葬场


Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8