The TypeScript Handbook
TypeScript 是什么?
TypeScript is JavaScript with syntax for types.
TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
- 是 JavaScript 带类型语法的语言
- 基于 JavaScript:
- 在 JavaScript 的基础上增加了一个编译器,编译时把 TypeScript 代码转换成 JavaScript
- 兼容:可以跑在 JS 可以跑的地方;可以利用 JavaScript 已有现在的生态
- 强类型编程语言
- 更好的工具: 静态分析、编译器检查
既然是基于 JS,所以学习 TS 之前,应该先学好 JS
优缺点
- 又有新知识要学了,优点
- 会多写代码:写类型声明、类型定义、
null
和undefined
的检查代码 - 增加代码的可读性、项目可维护性,更早的发现部分错误
- 对于可读改、可维护性; 团队人越多,成本相对越低
- 利用工具、编译器在编写或编译器发现错误;没有工具、编译器检查,可能需要写更多的测试用例,给测试增加工作量
- 对于实际的项目研发,更早的发现错误 bug 损失越小,越是在研发流程的后面部分发现损失越大
总结
- 如果是小项目,一两个人开发,一次性项目,开发周期短,要求快速交付,用 JS 就好
- 如果是大项目,涉及到多人开发,后面可能迭代3年、5年,TS 优势明显
- 现有 JS 项目,看项目、人员、开发周期具体情况,是否要改 TS
其实从现状可以看到, 稍微大型项目、涉及到多人团队协作的项目都在用 TS 写
文档参考
TS官网的 Handbook: https://www.typescriptlang.org/docs/handbook/intro.html