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