目录

为什么出现 TS

  1. 提供更舒适的开发体验
  2. 解决 JS 语言的痛点
  3. 使代码更简洁

JavaScript 常见问题

  • 使用了不存在的变量、函数或成员
  • 把一个不确定类型的值当作确定类型处理
  • 访问 null 或 undefined 成员

JavaScript 语言问题

  • JavaScript 语言一开始的定位就是浏览器交互语言,本身并不适应复杂业务
  • 弱类型:某个变量可以随时更换类型
  • 解释性:错误发生时间在运行时

TypeScript

TypeScript 是 JS 的一个超集,是一个可选的、静态的类型系统。浏览器本身不支持 TS 语法,使用 tsc 编译器将 TS 转换为可执行的 JS 代码。

超集

TypeScript 包含 JavaScript,JavaScript 的语法可以正常的运行在 TypeScript 文件中。

类型系统

提供的标识符(变量、函数、参数、返回值)类型检测。

可选的

TypeScript 并没有对 JavaScript 提供什么新的特性,只是将类型检测时机提前。所以如果你不想添加类型检测,完全可以不用。

静态的

原有 JavaScript 的类型检测发生在运行时,添加 TS 后将类型检测时机提升到编译阶段。

TS 常识

  • 2012 年微软发布(ES6、ES2015)
  • Anders Hejlsberg 负责开发 TS 项目
  • 开源、拥抱 ES 标准
  • TypeScript 官网