TypeScript 是什么?
TypeScript 并不是一个完全新的语言,它是 JavaScript 类型的超集,它可以编译成纯 JavaScript,主要提供了 类型系统 和对 JavaScript 新标准的支持,它由 Microsoft 开发,代码开源与 GItHub 上。
它的第一个版本发布于2012年10月,经历多次更新后,现在已经成为前端社区中不可忽视的力量,不仅在Microsoft 内部得到广泛运用,而且Angular从2.0开始就使用了TypeScript作为开发语言,React 与 TypeScript 完美配合,Vue 3.0 也使用了TypeScript 进行了重构。
TypeScript 特性:
- 始于 JavaScript,归于 JavaScript
- 强大的工具构建大型应用程序
- 先进的 JavaScript
TypeScript 优缺点:
- 优点
- TypeScript 提供强静态类型
- TypeScript 可以更早发现 BUG
- TypeScript 增加了代码的可读性和可维护性,方便重构
- TypeScript 非常包容
- TypeScript 拥有活跃的社区和丰富的 IDE 支持
- 缺点
- 学习成本:需要理解接口(Interface)泛型(Generics)类(Classes)枚举类型(Enum)等前端可能不是很熟悉的概念。
- 开发工作量:短期可能会增加一些开发成本,必须要多写一些类型的定义,不过对于一个长期维护的项目,TypeScript 能够减少维护成本。
- 可能和一些库结合不是很完美。
TypeScript 与 JavaScript 的区别
TypeScript | JavaScript |
---|---|
Microsoft,2012 | Netscape,1995 |
在编译期间可以检查和修复错误 | 解释性语言,因此只有在运行时才会发现错误 |
强类型,支持静态和动态类型 | 弱类型,无法选择静态类型 |
将代码转换为JavaScript,需要编译 | 可以直接在浏览器中使用,不需要编译 |