对 TS 的第一印象
首次接触 TS 时觉得 TS 既繁琐又复杂,限制还很多又要转换,搞不懂为什么要在项目中使用 TS。更更关键的是 TS 官方文档阅读起来相当吃力,很多语法技术点讲解的都让人难以理解;这就让我又加重了对 TS 的反感程度。
既然那么多人都比较推崇 TS,而且项目领导也已经决定在项目中使用 TS,那么 TS 肯定有我没有体会到的优势存在,而且这种优势必然很大,大到让它所有的缺点都显得微不足道。
鉴于对广大程序员网友以及项目领导的信任,只能攥着拳头,硬着头皮就开始了我的 TS 学习和使用之路。跟着项目领导开发这个项目的过程中,一边查文档一边开发,就这样慢慢的好像对 TS 有了一些体会,在一遍遍的阅读理解官网语法以及使用的过程中,对 TS 的体会和理解也就越来越深。以至于现在如果在项目中不使用 TS 就总觉得缺少点什么,总觉得项目不够完整,也不够严谨。
现在就简单聊一下我认为的 TS 的优点:
方便更准确的检查错误。比如静态提示,有啥问题不运行就会直接提示,在一定程度上规避了弱类型的弊端。
给程序带来稳定性和可预测性。比如提供的一个变量可能是这个类型,也可能是另一个类型,这对于引擎来说是由类型转换的开销的;而是用 TS 就不需要担心,因为它的类型是明确的。还有就是看到类型就知道参数,基本也就了解需要哪些,写了什么,还有代码提示,这在维护或修改代码的时候非常舒服也非常友好。
提供了静态类型检查。项目中不在需要 typeof 检查类型,数据类型是之前就规定好的。比如 react 中的 props 就不再需要写 PropTypes 进行类型检查。