TypeScript 是什么
TypeScript 并不是⼀个完全新的语⾔,它是 JavaScript 类型的超集,它可以编译成纯JavaScript,主要提供了 类型系统 和对 JavaScript 新标准的⽀持,它由 Microsoft 开发,代码开源与 GItHub 上。
它的第⼀个版本发布于2012年10⽉,经历多次更新后,现在已经成为前端社区中不可忽视的⼒量,不仅在Microsoft 内部得到⼴泛运⽤,⽽且Angular从2.0开始就使⽤了TypeScript作为开发语⾔,React 与 TypeScript 完美配合,Vue 3.0 也使⽤了TypeScript 进⾏了重构。
TypeScript 特性
1. 始于 JavaScript,归于 JavaScript
TypeScript从今天数以百万计的JavaScript开发者所熟悉的语法和语义开始。使⽤现有的JavaScript代码,包括流⾏的JavaScript库,并从JavaScript代码中调⽤TypeScript代码。
TypeScript可以编译出纯净、 简洁的JavaScript代码,并且可以运⾏在任何浏览器上、Node.js环境中和任何⽀持ECMAScript 3(或更⾼版本)的JavaScript引擎中。
2. 强⼤的⼯具构建⼤型应⽤程序
类型允许JavaScript开发者在开发JavaScript应⽤程序时使⽤⾼效的开发⼯具和常⽤操作⽐如静态检查和代码重构。
类型是可选的,类型推断让⼀些类型的注释使你的代码的静态验证有很⼤的不同。类型让你定义软件组件之间的接⼝和洞察现有JavaScript库的⾏为。
3. 先进的 JavaScript
TypeScript提供最新的和不断发展的JavaScript特性,包括那些来⾃2015年的ECMAScript和未来的提案中的特性,⽐如异步功能和Decorators,以帮助建⽴健壮的组件。
这些特性为⾼可信应⽤程序开发时是可⽤的,但是会被编译成简洁的ECMAScript3(或更新版本)的JavaScript。
TypeScript 优缺点
- 优点
● TypeScript 提供强静态类型
● TypeScript 可以更早发现 BUG
● TypeScript 增加了代码的可读性和可维护性,⽅便重构
●TypeScript ⾮常包容
●TypeScript 拥有活跃的社区和丰富的 IDE ⽀持 - 缺点
●学习成本:需要理解接⼝(Interface)泛型(Generics)类(Classes)枚举类型(Enum)等前端可能不是很熟悉的概念。
●开发⼯作量:短期可能会增加⼀些开发成本,必须要多写⼀些类型的定义,不过对于⼀个⻓期维护的项⽬,TypeScript 能够减少维护成本。
●可能和⼀些库结合不是很完美。