TypeScript是一款由微軟推出的javaspript超集,為用戶提供了豐富的spript動作集,充分補充了javaspript的不足,支持為已存在的 JavaScript 庫添加類型信息的頭文件,實用性非常的強。
【功能特點】
lambda 函數語法上,TypeScript 很類似于 JScript .NET,另外一個添加了對靜態類型,經典的面向對象語言特性如類,繼承,接口和命名空間等的支持的 Microsoft 對 ECMA-262 語言標準的實現。
類型批注
通過類型批注提供靜態類型以在編譯時啟動類型檢查。這是可選的,而且可以被忽略而使用 JavaScript 常規的動態類型。
對于基本類型的批注是 number, bool 和 string。而弱或動態類型的結構則是 any 類型。
類型批注可以被導出到一個單獨的聲明文件以讓使用類型的已被編譯為 JavaScript 的 TypeScript 腳本的類型信息可用。批注可以為一個現有的 JavaScript 庫聲明,就像已經為 Node.js 和 jQuery 所做的那樣。
當類型沒有給出時,TypeScript 編譯器利用類型推斷以推斷類型。如果由于缺乏聲明,沒有類型可以被推斷出,那么它就會默認為是動態的 any 類型。
聲明文件
當一個 TypeScript 腳本被編譯時,有一個產生作為編譯后的 JavaScript 的組件的一個接口而起作用的聲明文件 (具有擴展名 .d.ts) 的選項。在這個過程中編譯器基本上帶走所有的函數和方法體而僅保留所導出類型的批注。當第三方開發者從 TypeScript 中使用它時,由此產生的聲明文件就可以被用于描述一個 JavaScript 庫或模塊導出的虛擬的 TypeScript 類型。聲明文件的概念類似于 C/C++ 中頭文件的概念。
類型聲明文件可以為已存在的 JavaScript 庫手寫,就像為 jQuery 和 Node.js 所做的那樣。對 ECMAScript 6 的支持TypeScript 增加了對為即將到來的 ECMAScript 6 標準所建議的特性的支持。如下為其構想:類 (以及繼承) 模塊Arrow functions盡管標準還未準備就緒,Microsoft 說它的目標是使 TypeScript 的特性與建議的標準看齊。
類
支持集成了可選的類型批注支持的 ECMAScript6 的類。
泛型
這種語言的規范說明一個未來的版本將會支持基于類型擦除的泛型編程。與 JavaScript 的兼容性TypeScript 是 JavaScript 的一個超集。默認情況下編譯器以 ECMAScript 3 (ES3) 為目標但 ES5 也是受支持的一個選項。一個 TypeScript 應用可以利用已存在的 JavaScript 腳本。編譯后的 TypeScript 腳本也可以從 JavaScript 中使用。現有框架如 jQuery 和 Node.js 等受到完全支持。這些庫的類型聲明在源代碼中提供。支持的瀏覽器和平臺運行于任何平臺上的任何網頁瀏覽器都可以運行 TypeScript 由于它僅僅是被編譯為標準的 JavaScript。一個腳本既可以被預編譯為 JavaScript 也可以通過為 TypeScript 包含 JavaScript 編譯器實時編譯。