微軟推出TypeScript 1.7
英文原文:Microsoft Bumps TypeScript to Version 1.7
微軟最近發布 —— 這個 JavaScript 超集的語言的 1.7 版本,新版本兌現了微軟的部分承諾,使某些場景中的編程工作更為簡便了。
新版本中最受期待的特性就是對 async/await 語法的支持,目前對于以 ES6 為目標的項目已經可以使用該語法了。async/await 語法允許開發者將某個函數標記為 async,通過在異步函數中使用 await 關鍵字,開發者就能夠以調用同步代碼的形式調用異步函數了。目前為止,該語法僅能夠用于 ES6,因為語法的實現背后使用了代碼生成器。
出于該特性的復雜性,直到 2.0 版本發布之前,以 ES5 為目標的代碼都無法使用這一語法。在另一篇博客中,微軟表示對該語法的支持是一個巨大的變動:
為了支持各種瀏覽器,我們必須使用狀態機的方式,將 ES6 的代碼生成器函數重寫為能夠在 ES5 中運行的 JavaScript。這一任務是一項艱巨的挑戰,它需要對編譯器代碼進行大量的改動,但我們目前正致力于實現它。
</blockquote>如果開發者希望現在就能夠在所有瀏覽器中應用這一特性,可以選擇使用 Babel。
微軟在新版本中還引入了多態的 this 類型,使用它能夠更方便地編寫 fluent 風格的代碼,如下所示:
var result = myObject.doSomething () .doSomethingElse ();
</blockquote>按照微軟的描述,“this 類型可用于類與接口中,用于表現包含類型的某個子類型(而不是包含類型本身)。”如果想詳細了解這一特性的應用方式,請查閱 TypeScript 的 Wiki。在 Hacker News 上的討論中,用戶 tlarkworthy 對于此特性表現出了極大的熱情:
在進行泛型編程時,你可能會遇到“無法在類型列表中兩次引用同一個類型”的問題,此時多態的 this 類型就能夠派上大用。自從接觸過它之后,我已經在許多場合中應用過它了。它能夠解決許多問題,例如實現一個 clone 方法。這個新特性太棒了!
</blockquote>開發者可以通過 npm、Visual Studio 2015 Update 1 或 Visual Studio 2013 安裝 TypeScript 1.7。
來自: InfoQ本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!