微軟為大型 JavaScript 應用而開發的 TypeScript 發布了 2.0 版本
在用於大型開發時, JavaScript 由於其固有的特性而面臨一些挑戰。其它的靜態編譯語言,如 C#、Java 和 C++ 在每次開發人員敲下「編譯」時會進行全面的錯誤檢查,而 JavaScript 直到運行時才會做錯誤檢查。這意味著,從輸入錯誤到像對非數字進行數學運算這樣的錯誤用法都根本不會遇到檢查,所以,用戶不走運的話就會遇到這些問題。而在 TypeScript 中,微軟的目標是引入一些其它語言也提供的檢查和校驗,而依然保持和 JavaScript 的兼容性,並可以編譯成 JavaScript。
根據介紹,TypeScript 2.0 引入了一些新功能,改進了性能、增強了 JavaScript 兼容性,並在 TypeScript 進行編譯時擴大了錯誤檢查的範圍。TypeScript 2.0 中的一大進步就是給予開發人員對 null
值的更大控制。
null
用於表示變數根本沒有值,它被其發明人戲稱為「價值十億美元的錯誤」。一次又一次,程序總是由於沒有正確檢查一個值是否是 null
值而掉到坑裡。但是不管好與不好,所有主流的編程語言都支持這個 null
的概念。
TypeScript 2.0 引入了許多新的特性,但是其中最大的特性就是對 null
值的控制。在 TypeScript 2.0 中,開發人員可以可以啟用一種新的行為,以默認防止變數賦值為 null。當啟用該選項時,默認情況下變數必須有一個值,且這個值不能是 null
。這可以讓編譯器發現變數沒有初始化的錯誤。
TypeScript 似乎贏得了許多 JavaScript 開發者的擁護,谷歌採用它來開發 Angular 2 框架,而 Visual Studio、Visual Studio Code、Eclipse、Emacs、Vim 等等開發環境也都支持 TypeScript。微軟已經把它作為社區驅動的項目進行了開源,目前已經有超過 150 個獨立貢獻者參與了該項目,這已經是雷蒙德擁抱開源的成功典範之一。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive