本章節和後續章節都以 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 小書之入門篇