TypeScript是一款編程語(yǔ)言軟件,用戶可以在線進(jìn)行編輯,讓您在JS的使用中可以更加的便捷。此外typescript軟件拓寬了語(yǔ)言的區(qū)域,幫助您在編程還是制作上都可以更好的來操作。
軟件介紹
TypeScript是一種由微軟開發(fā)的自由和開源的編程語(yǔ)言。它是JavaScript的一個(gè)超集,而且本質(zhì)上向這個(gè)語(yǔ)言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊?。安德?middot;海爾斯伯格,C#的首席架構(gòu)師,已工作于TypeScript的開發(fā)。
TypeScript擴(kuò)展了JavaScript的語(yǔ)法,所以任何現(xiàn)有的JavaScript程序可以不加改變的在TypeScript下工作。TypeScript是為大型應(yīng)用之開發(fā)而設(shè)計(jì),而編譯時(shí)它產(chǎn)生 JavaScript 以確保兼容性。
TypeScript 支持為已存在的 JavaScript 庫(kù)添加類型信息的頭文件,擴(kuò)展了它對(duì)于流行的庫(kù)如 jQuery,MongoDB,Node.js 和 D3.js 的好處。
軟件背景
TypeScript 起源于開發(fā)應(yīng)用程序規(guī)模的 JavaScript 應(yīng)用程序的需求。Microsoft的語(yǔ)言開發(fā)者們說內(nèi)部以及外部的客戶都表示他們構(gòu)建 JavaScript 代碼的問題。
很多最終依賴于 JavaScript 的開發(fā)者通常用編譯為 JavaScript 代碼的另一種語(yǔ)言寫腳本,例如 CoffeeScript 和 Script# (讀作 ScriptSharp)。一個(gè)明顯的劣勢(shì)是也許無法從那另一種語(yǔ)言使用任何 JavaScript 的具體的語(yǔ)言特性,如果那種語(yǔ)言不支持它的話。
在 Microsoft 內(nèi)部,它導(dǎo)致了自定義工具以簡(jiǎn)化 JavaScript 組件的編寫的需求。
軟件特色
TypeScript 是一種給 JavaScript 添加特性的語(yǔ)言擴(kuò)展。
類型批注和編譯時(shí)類型檢查
類
接口
模塊
lambda 函數(shù)語(yǔ)法上,TypeScript 很類似于 JScript .NET,另外一個(gè)添加了對(duì)靜態(tài)類型,經(jīng)典的面向?qū)ο笳Z(yǔ)言特性如類,繼承,接口和命名空間等的支持的 Microsoft 對(duì) ECMA-262 語(yǔ)言標(biāo)準(zhǔn)的實(shí)現(xiàn)。
類型批注
TypeScript 通過類型批注提供靜態(tài)類型以在編譯時(shí)啟動(dòng)類型檢查。這是可選的,而且可以被忽略而使用 JavaScript 常規(guī)的動(dòng)態(tài)類型。
對(duì)于基本類型的批注是 number, bool 和 string。而弱或動(dòng)態(tài)類型的結(jié)構(gòu)則是 any 類型。
類型批注可以被導(dǎo)出到一個(gè)單獨(dú)的聲明文件以讓使用類型的已被編譯為 JavaScript 的 TypeScript 腳本的類型信息可用。批注可以為一個(gè)現(xiàn)有的 JavaScript 庫(kù)聲明,就像已經(jīng)為 Node.js 和 jQuery 所做的那樣。
當(dāng)類型沒有給出時(shí),TypeScript 編譯器利用類型推斷以推斷類型。如果由于缺乏聲明,沒有類型可以被推斷出,那么它就會(huì)默認(rèn)為是動(dòng)態(tài)的 any 類型。
聲明文件
當(dāng)一個(gè) TypeScript 腳本被編譯時(shí),有一個(gè)產(chǎn)生作為編譯后的 JavaScript 的組件的一個(gè)接口而起作用的聲明文件 (具有擴(kuò)展名 .d.ts) 的選項(xiàng)。在這個(gè)過程中編譯器基本上帶走所有的函數(shù)和方法體而僅保留所導(dǎo)出類型的批注。當(dāng)?shù)谌介_發(fā)者從 TypeScript 中使用它時(shí),由此產(chǎn)生的聲明文件就可以被用于描述一個(gè) JavaScript 庫(kù)或模塊導(dǎo)出的虛擬的 TypeScript 類型。聲明文件的概念類似于 C/C++ 中頭文件的概念。
類型聲明文件可以為已存在的 JavaScript 庫(kù)手寫,就像為 jQuery 和 Node.js 所做的那樣。對(duì) ECMAScript 6 的支持TypeScript 增加了對(duì)為即將到來的 ECMAScript 6 標(biāo)準(zhǔn)所建議的特性的支持。如下為其構(gòu)想:類 (以及繼承) 模塊Arrow functions盡管標(biāo)準(zhǔn)還未準(zhǔn)備就緒,Microsoft 說它的目標(biāo)是使 TypeScript 的特性與建議的標(biāo)準(zhǔn)看齊。
類
TypeScript 支持集成了可選的類型批注支持的 ECMAScript6 的類。
泛型
這種語(yǔ)言的規(guī)范說明一個(gè)未來的版本將會(huì)支持基于類型擦除的泛型編程。與 JavaScript 的兼容性TypeScript 是 JavaScript 的一個(gè)超集。默認(rèn)情況下編譯器以 ECMAScript 3 (ES3) 為目標(biāo)但 ES5 也是受支持的一個(gè)選項(xiàng)。一個(gè) TypeScript 應(yīng)用可以利用已存在的 JavaScript 腳本。編譯后的 TypeScript 腳本也可以從 JavaScript 中使用?,F(xiàn)有框架如 jQuery 和 Node.js 等受到完全支持。這些庫(kù)的類型聲明在源代碼中提供。支持的瀏覽器和平臺(tái)運(yùn)行于任何平臺(tái)上的任何網(wǎng)頁(yè)瀏覽器都可以運(yùn)行 TypeScript 由于它僅僅是被編譯為標(biāo)準(zhǔn)的 JavaScript。一個(gè)腳本既可以被預(yù)編譯為 JavaScript 也可以通過為 TypeScript 包含 JavaScript 編譯器實(shí)時(shí)編譯。
使用教程
安裝
在安裝typescript前,需先安裝Node.js,關(guān)于Node.js如何下載并安裝請(qǐng)參見:
在電腦上找到【運(yùn)行】功能并點(diǎn)擊,打開運(yùn)行面板,如圖:
在運(yùn)行面板中,輸入【cmd】,如圖
打開命令提示符窗口,輸入命令:npm install -g typescript,
按回車鍵,開始安裝typescript,等待一會(huì),安裝成功后下面會(huì)顯示typescript的版本,如圖:
或者在命令提示符面板中輸入命令:tsc -v ,檢查當(dāng)前typescript的版本,如圖:
基本語(yǔ)法
第一個(gè)HelloWorld
我們創(chuàng)建一個(gè) index.html 文件,在文件里寫入:
<script src="hello.js"></script>
創(chuàng)建 hello.ts 文件, *.ts 是 TypeScript 文件的后綴:
alert('Hello World!');
我們打開命令行,使用 tsc 命令編譯 hello.ts 文件
tsc hello.ts
用瀏覽器打開index.html文件
語(yǔ)法
類型批注
TypeScript 通過類型批注提供靜態(tài)類型以在編譯時(shí)啟動(dòng)類型檢查,對(duì)于基本類型的批注是number, bool和string,而弱或動(dòng)態(tài)類型的結(jié)構(gòu)則是any類型。
接口使用關(guān)鍵字 interface
接口也可以作為一個(gè)類型批注。
箭頭函數(shù)表達(dá)式(lambda表達(dá)式)
lambda表達(dá)式 ()=>{something}或()=>something 相當(dāng)于js中的函數(shù),它的好處是可以自動(dòng)將函數(shù)中的this附加到上下文中
TypeScript支持集成了可選的類型批注支持的ECMAScript 6的類。
繼承
可以繼承一個(gè)已存在的類并創(chuàng)建一個(gè)派生類,繼承使用關(guān)鍵字 extends