01-TypeScript概述
本篇文章向大家介紹新的TypeScript客戶端腳本語言,主要涉及兩個方面,一是傳統JavaScript語言的弱點,二是TypeScript語言的優勢。
一.JavaScript的弱點
1.弱類型,缺乏必要的類型檢查
JavaScript因為是解釋型的語言,沒有編譯器,只有在執行時,根據變量的賦值,才能確定變量的類型,這樣對於開發人員定義與排錯
帶來一定的復雜度。
2.編程不夠語義化,閱讀有一定困難
JavaScript因為不是面向對象的編程語言,沒有很好的類的思想,而是通過function實現。在一些復雜的實現中,特別是後來的代碼閱讀者
需要完全看完代碼,才能很好理解代碼的含義。另外因為不是面向對象的編程語言,在一些設計模式的實現上,通過原型方式實現,實現
非常的復雜,閱讀非常的困難。如果後端開發人員要學習JavaScript,與已有的後端面向對象語言比如C#、Java有很大不同,存在一定的
學習成本。
3.代碼不可分割,可維護性差
在後端開發中,通過多文件與名稱空間的方式組織文件與代碼,而JavaScript組織代碼在這方面較差。
4.開發工具不夠智能
目前大多數的開發工具對於JavaScript的智能提示有一定的局限性,相比後端面向對象的開發工具這方面有一定的差距。
二.TypeScript的優勢
1.微軟開源的客戶端腳本語言,是JavaScript的超集
TypeScript是微軟主導的腳本語言,所有JavaScript的功能在TypeScript中都兼容,另外谷歌的Angular 4前端框架也是基於TypeScript編寫。
所以無論從功能還是主流廠商支持來講,TypeScript都具有較大優勢。
2.近似靜態、編譯型語言、強類型
TypeScript可以預先確定變量的類型,編譯器會進行類型的檢查,防止出現未知的錯誤。另外強類型支持string、number、boolean、Array、
泛型等多種類似後端編程語言比如C#、Java的特性。
3.智能感知和重構
通過集成開發工具,比如WebStorm、Visual Studio Code、Visual Studio等,可以獲得與後端開發同樣的智能感知能力和重構能力。
4.語義化、面向對象編程
通過TypeScript語言,可以實現語義化和面向對象的編程,比如類、方法、接口、靜態等。
三.總結
TypeScript是強類型、面向對象的客戶端腳本語言,可以完全替代原生的JavaScript編寫的代碼。
TypeScript通過與前端IDE工具,比如WebStorm或Visual Studio等很好的配合,自動轉換成對應的ES5或ES6規範的JavaScript代碼,方便使用。
總之一句話:在編寫TypeScript代碼時完全面向對象的實現,實現簡單、閱讀容易,而且完全轉換成JavaScript代碼,使用方便。
本人申請了個人公眾號,會不定期的發布一些精品文章,也歡迎大家關註:
01-TypeScript概述