TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。TypeScript 是开源的。

虽然大多数人认为 TS 是一门语言,但我始终觉得它只不过是 JS 的拓展而已。

特征

  • 类型检查:TS 会在编译代码时,进行严格的静态类型检查,可以提前发现代码存在的隐患
  • 语言拓展:TS 会包含来自 ES6 以及未来提案中的 JS 特性,比如异步操作和装饰器,也会从其他语言借鉴某些特性,如接口和抽象类
  • 工具属性:TS 可以编译成标准的 JS 代码,可以在任何浏览器、操作系统上运行,无需任何运行时的独立开销

**

与 JS 的对比

TypeScript JavaScript
JavaScript 的超集用于解决大型项目的代码复杂性 一种脚本语言,用于创建动态网页。
可以在编译期间发现并纠正错误 作为一种解释型语言,只能在运行时发现错误
强类型,支持静态和动态类型 弱类型,没有静态类型选项
最终被编译成 JavaScript 代码,使浏览器可以理解 可以直接在浏览器中使用
支持模块、泛型和接口 不支持模块,泛型或接口
支持 ES3,ES4,ES5 和 ES6 等 不支持编译其他 ES3,ES4,ES5 或 ES6 功能
社区的支持仍在增长,而且还不是很大 大量的社区支持以及大量文档和解决问题的支持

发展趋势

  • TypeScript 是由微软开发,它的第一个版本发布于 2012 年 10 月
  • Google 开发的 Angular2 就是使用 TypeScript 编写的
  • 最新的 Vue 、React 也可以集成 TypeScript
  • TypeScript 被广泛运用于很多公司来构建大型项目

为什么使用 TS

除了类型检查这一最大的好处之外,使用 TS 还能带来其他好处:

  • VSCode 等编辑器的自动补全、导航和重构功能,使得接口定义可以直接代替文档,同时也可以提高开发效率,降低维护成本
  • TS 可以帮助团队重塑“类型思维”,接口的提供方将被迫去思考 API 的边界,将会从代码的编写者变成设计者

    学习导图

image.png