本章节和后续章节都以 Typescript 的口吻自述,就是这么自信(自恋)。前端
兵法云:知己知彼,百战不殆(语出《孙子·谋攻篇》)(一个前端开始聊兵法,瞎搞,凑字数)。引用此主要想说,要用我就先看看我漂亮的履历吧。git
自我介绍
我是 Microsoft 公司注册商标(来头大,后台硬)。github
我是 JavaScript 的一个超集,主要提供类型系统和对 ES6 的支持。浏览器
我能够编译成纯的 JavaScript 代码,支持任意浏览器,任意环境,任意系统而且是开源的,开源于 GitHub 上。前端工程师
我还在不断的完善中,会不断有新的特性加进来,因此你得时常关注个人成长。编辑器
若是你对我一见倾心,那就好好了解熟悉我;函数
若是你对我爱的山无棱天地合,那就在项目中应用我;post
若是你对我没感受,那继续回去写你的 Javascript 吧。学习
我好在哪里
加强代码的可读性和可维护性
- 在编译阶段就能够发现大部分错误,总比在运行时候出错好,你说呢?
- 类型系统是最好的文档,大部分的函数看看类型的定义就能够知道如何使用了;
- 加强了编辑器和 IDE 的功能,好比代码补全、接口提示、跳转到定义、重构等;
我有包容心
.js
文件能够直接重命名为 .ts
便可;
- 能够定义从简单到复杂的几乎一切类型;
- 即便不显式的定义类型,也可以自动作出类型推论;
- 即便在我这边编译报错,也能够生成 JavaScript 文件;
- 兼容第三方库,即便第三方库不是用我写的,也能够编写单独的类型文件给我读取;
拥有强大活跃的社区
- 符合 ES6 规范,也支持部分 ESNext 草案的规范(有眼光);
- 大部分第三方库都有提供给个人类型定义文件(圈内有名,后台硬);
- Google 开发的 Angular2 就是用我来编写的(傲娇);
- ...
固然了,我也不是完美的
- 学习并熟悉我是须要必定的学习成本的,你须要了解什么是接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师不是很熟悉的概念和定义;
- 短时间会增长开发成本,要多写一些类型的定义,不过对于长期维护的项目,用我了就可以减小维护成本;
- 集成到构建流程须要工做量;
- 和一些库结合的还不是很完美(其实,不完美也是一种美);
客观地说
本章最后,我想对你说的是:根据公司、项目和团队等各类状况综合判断是否选择使用我,我是颇有包容心的。code
你能够...
上一篇:Typescript 为何选择她
下一篇:Typescript 的成长环境
目录:Typescript 小书之入门篇