typeScript浅析~

什么是 TypeScript

TypeScript 是 JavaScript 的一个超集,主要提供了类型系统对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上。

其次引用官网的定义:

TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open source.

翻译成中文即是:

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

链接:https://ts.xcatliu.com/introduction/

gitHub:https://github.com/xcatliu/typescript-tutorial

官方手册中文版:https://zhongsp.gitbooks.io/typescript-handbook/content/

ts配置中文版:https://zhongsp.gitbooks.io/typescript-handbook/content/doc/handbook/tsconfig.json.html

ES6入门:https://es6.ruanyifeng.com/

本文参考 链接 后的地址,只为学习记录更方便一些,不做商用。

为什么选择 TypeScript

TypeScript 官网列举了一些优势,不过我更愿意自己总结一下:

TypeScript 增加了代码的可读性和可维护性

类型系统实际上是最好的文档,大部分的函数看看类型的定义就可以知道如何使用了

可以在编译阶段就发现大部分错误,这总比在运行时候出错好。增强了编辑器和 IDE(集成开发) 的功能,包括代码补全、接口提示、跳转到定义、代码重构等

TypeScript 非常包容

TypeScript 是 JavaScript 的超集,.js 文件可以直接重命名为 .ts 即可

即使不显式的定义类型,也能够自动做出类型推论。

TypeScript 的类型系统是图灵完备的,可以定义从简单到复杂的几乎一切类型

即使 TypeScript 编译报错,也可以生成 JavaScript 文件

兼容第三方库,即使第三方库不是用 TypeScript 写的,也可以编写单独的类型文件供 TypeScript 读取

TypeScript 拥有活跃的社区

大部分第三方库都有提供给 TypeScript 的类型定义文件

Angular、Vue、VS Code、Ant Design 等等耳熟能详的项目都是使用 TypeScript 编写的

TypeScript 拥抱了 ES6 规范,支持 ESNext 草案中处于第三阶状态(Stage 3)的特性

TypeScript 的缺点

有一定的学习成本,需要理解接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的概念

短期可能会增加一些开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目,TypeScript 能够减少其维护成本

你可能感兴趣的:(typeScript浅析~)