TypeScript 特性总结

TypeScript 特性总结

借着修复企业微信钱包缺陷的机会,总结了一波 TypeScript 特性:

  1. 静态类型检查:early fail,即你编写的代码即使没有被执行到,一旦你编写代码时发生类型不匹配,语言在编译阶段(解释执行也一样,可以在运行前)即可发现。
  2. IDE 智能提示:声明文件的功劳。
  3. 代码重构:比如有一个很通用的函数,在工程里用的到处都是,有一天我们要在这个函数最前面增加一个参数。TypeScript 中你只需要改那个函数就好了,然后再执行静态类型分析,所有和这个函数参数不匹配的地方都会提示出来。
  4. 可读性:查看开源代码时,如果注释不是很完善,往往会看的云里雾里,而 TypeScript 在同等条件下,至少有个类型标注,能让自己更容易明白代码的参数、返回值和意图。
  5. TypeScript是静态类型弱类型语言
  6. TypeScript 和 JavaScript 的关系
    1. 在 JavaScript 的基础之上增加了一些类型标记语法,以实现静态类型分析
    2. 把这些类型标注语法去掉之后,仍是一个标准的 JavaScript 语言。
  7. 静态类型系统与 Lint 工具的关系
    1. Lint 工具是一种团队协作时的风格规范工具,
    2. 虽然两者都有对程序进行分析的能力,但 Lint无法基于类型对程序进行静态分析。
  8. TS + Vue:作者为 Vue core 提供了针对 TypeScript 的官方类型声明,还为 Vue Router 和 Vuex 也提供了相应的声明文件。https://github.com/vuejs/vue/tree/dev/types
  9. 输出文档:利用https://github.com/TypeStrong/typedoc,依赖声明文件,可以生成文档。
  10. 附上当初的总结:http://slides.com/zacharykwan/ts-review/fullscreen#/