TypeScript logo |
前端開發(Front-End)近年來在各種平台非常活躍,怎麼說呢?
越來越注重使用者介面,需要能力更強,開發更方便的 framework,因此出現了各種的 JavaScript framework。
- 網頁端(Web)像是這兩年很夯的 AngularJS、React.js、Vue.js、D3.js...等等。
- 伺服器端(Server Side)與網路相關應用,也可以使用 JavaScript 來寫,最經點的例子就是 Node.js,而且可以搭配其他 Framework 做到 JavaScript Universal,像是 Universal React 和 Angular Universal。
- 行動裝置端(大陸稱為移動端),當然也可以使用 JavaScript 來寫 Application,像是 React Native、Cordova、Ionic...等等。
開發應用有大有小,而在開發大型應用的時候,要怎麼「不寫重複的 code」與「方便 debug」是很重要的!
因此,TypeScript 應運而生!
TypeScript 是什麼?
Anders Hejlsberg |
開源的一個前端語言,由微軟開發主持,TypeScript 出自C#之父 Anders Hejlsberg 之手!
完全基於JavaScript的語法,有點像是「擴充版的 JavaScript」。
可執行於任何瀏覽器,開發於任何作業系統(OS)。
可使用 ES6 語法開發,執行於不支援 ES6 的瀏覽器。
TypeScript 有什麼優點?
- 強型別,幫助你檢查是否有型別不正確的低級錯誤,因為 JavaScript 是一個弱型別語言,所以在寫的時候並不會幫你檢查「語法是否打錯字」或是「型別對應不正確」的問題。
- 減少重複的 code,在 TypeScript 中可以利用類別(class)、建構子(constrator)、介面(interface)、繼承(inheritance)、模組(moudle)來設計你的程式(例如:物件導向),讓你像是寫強型別語言時一樣的輕鬆。
- 限制存取範圍:可以方法利用 public / private / protected 來限制存取權限,變數可以利用 let 來使用區域變數。
綜合以上的優點,其實就可以讓你再寫 TypeScript 的時候,有像是寫強型別的語言一樣輕鬆自在,IDE 也可以幫你檢查基本的錯誤,真的是一舉多得。
你是否有過,開發時還要查詢使用的語法是哪一版的 ES,且 User 的瀏覽器是否支援這個寫?
如果你也跟我有相同的困擾,那麼,我推薦你使用 TypeScript!
為什麼TypeScript可以做到?
在寫 TypeScript 的時候,我們寫的檔案會是 .ts 檔案,但瀏覽器只看的懂 .js,所以開發工具(IDE)會幫你編譯(compile)你寫的 .ts 檔案,變成 .js 檔案。
也就是說,假如你使用ES6的寫法來編寫 TypeScript,開發工具在編譯的時候就會幫你轉為「所有」瀏覽器看的懂得東西(ES5 語法)!
*ES5 語法:ECMAScript 5 是 JavaScript 的標準化規範,也是目前最多瀏覽器支援的版本。
現在有誰在使 TypeScript?
任何的 JavaScript 程式都可以使用 TypeScript 來開發,他就像是一個 JavaScript 的擴充套件一樣!
日前舉行的 NG-CONF 2016 在大會上他們也是大力推行使用 TypeScript 來做開發語言,所以由 Goolge 來開發的 AngularJS 2.0 也是推薦使用 TypeScript來開發!
TypeScript 都沒有缺點嗎?
TypeScript 實在是存在著滿滿的優點,如果硬是要說缺點,大概就是沒辦法像 JavaScript 不需要建置開發環境,隨寫隨用。但是一旦建置好開發環境,TypeScript 也是可以透過 IDE 來 compile 達到即見及所得的快感(?
補充說明
TypeScript的強型別寫法:
那麼,我們下次再見囉!