什么是TypeScript
TypeScript 是 JavaScript 的一个超集,它的最大特点就是支持强类型和对ES6的支持。它由Microsoft开发,代码开源于 GitHub 上。
引用官网的定义:
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open source. 翻译为中文: TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。而且是开源的。
为什么选择 TypeScript
TypeScript 增加了代码的可读性和可维护性
- 可以提前约定好变量,传参和返回值的数据类型,方便开发和维护
- 编译的时候就可以规避很大一部分错误
- 增强了编辑器和 IDE 的功能,包括代码补全、接口提示、跳转到定义、代码重构等
TypeScript 有比较好的包容性
- TypeScript 是 JavaScript 的超集,只需要将后缀名.js改为.ts即可
- 即使没有定义类型,也可以对类型作出推论
- TypeScript 可以从简单到复杂,更加完备的数据类型
- 即使 TypeScript 编译报错,也可以生成 JavaScript 文件
- 兼容第三方库,即使第三方库不是用 TypeScript 写的,也可以编写单独的类型文件供 TypeScript 读取
TypeScript 拥有活跃的社区
- 大部分第三方库都有提供给 TypeScript 的类型定义文件
- Angular、Vue、VS Code、Ant Design 等项目都是使用 TypeScript 编写的
- TypeScript 拥抱了 ES6 规范,支持 ESNext 草案中处于第三阶状态(Stage 3)的特性
TypeScript 的缺点
- 有一定的学习成本,需要理解接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的概念
- 短期可能会增加一些开发成本,毕竟要多写一些类型的定义
- 集成到构建流程需要一些工作量
- 可能和一些库结合的不是很完美
参考
TypeScript 入门教程 - ts.xcatliu.com/
TypeScript 官网 - www.typescriptlang.org/