新聞中心
前言
TypeScript 的概念及意義
TypeScript 是由微軟開發(fā)的自由和開源的編程語(yǔ)言。通過(guò)在 JavaScript的 基礎(chǔ)上添加靜態(tài)類型定義構(gòu)建而成。TypeScript 通過(guò) TypeScript 編譯器或 Babel 轉(zhuǎn)譯為 JavaScript 代碼,可運(yùn)行在任何瀏覽器,任何操作系統(tǒng)。

- TypeScript 是添加了類型系統(tǒng)的 JavaScript,適用于任何規(guī)模的項(xiàng)目。
- TypeScript 是一門靜態(tài)類型、弱類型的語(yǔ)言。
- TypeScript 是完全兼容 JavaScript 的,它不會(huì)修改 JavaScript 運(yùn)行時(shí)的特性。
- TypeScript 可以編譯為 JavaScript,然后運(yùn)行在瀏覽器、Node.js 等任何能運(yùn)行 JavaScript 的環(huán)境中。
- TypeScript 擁有很多編譯選項(xiàng),類型檢查的嚴(yán)格程度由你決定。
- TypeScript 可以和 JavaScript 共存,這意味著 JavaScript 項(xiàng)目能夠漸進(jìn)式的遷移到 TypeScript。
- TypeScript 增強(qiáng)了編輯器(IDE)的功能,提供了代碼補(bǔ)全、接口提示、跳轉(zhuǎn)到定義、代碼重構(gòu)等能力。
- TypeScript 擁有活躍的社區(qū),大多數(shù)常用的第三方庫(kù)都提供了類型聲明。
- TypeScript 與標(biāo)準(zhǔn)同步發(fā)展,符合最新的 ECMAScript 標(biāo)準(zhǔn)(stage 3)
- TypeScript 可以編譯出純凈、 簡(jiǎn)潔的 JavaScript 代碼,并且可以運(yùn)行在任何瀏覽器上、Node.js 環(huán)境中和任何支持 ECMAScript 3(或更高版本)的 JavaScript 引擎中。
- TypeScript 有更多的規(guī)則和類型限制,代碼具有更高的預(yù)測(cè)性、可控性,易于維護(hù)和調(diào)試;對(duì)模塊、命名空間和面向?qū)ο蟮闹С?,更容易組織代碼開發(fā)大型復(fù)雜程序。
- TypeScript 的編譯步驟可以捕獲運(yùn)行之前的錯(cuò)誤。
TypeScript 的主要特征
從上面的概念和意義部分可以看出,TypeScript 的特征比較多,這里我們就幾個(gè)主要特性進(jìn)行分析。
TypeScript 是靜態(tài)類型
我們都知道,JavaScript是一門解釋型語(yǔ)言,沒有編譯階段,它只有在運(yùn)行時(shí)才會(huì)進(jìn)行類型檢查。
而 TypeScript 與它相反,因?yàn)?TypeScript 在運(yùn)行前還要經(jīng)過(guò)被編譯成 JavaScript 的過(guò)程,它在編譯階段就就能確定每個(gè)變量的類型,這種語(yǔ)言的類型錯(cuò)誤往往會(huì)導(dǎo)致語(yǔ)法錯(cuò)誤。
比如,在 JavaScript 中:
let foo = 1;
foo.split(' ');
// Uncaught TypeError: foo.split is not a function
// 運(yùn)行時(shí)會(huì)報(bào)錯(cuò)(foo.split 不是一個(gè)函數(shù)),造成線上 bug
而在 TypeScript 中:
let foo = 1;
foo.split(' ');
// Property 'split' does not exist on type 'number'.
// 編譯時(shí)會(huì)報(bào)錯(cuò)(數(shù)字沒有 split 方法),無(wú)法通過(guò)編譯
TypeScript 是弱類型
在這一點(diǎn)上,TypeScript 和 JavaScript 的表現(xiàn)是一致的,具體是指數(shù)據(jù)類型可以發(fā)生隱式轉(zhuǎn)換 ,看以下一段代碼:
console.log("1" + 1);
// // 打印出字符串 '11'不管是在 TypeScript 中還是 JavaScript 中,輸出結(jié)果都是一樣的。
全局安裝 TypeScript
npm install -g typescript
總結(jié)
今天就主要認(rèn)識(shí)一下 TypeScript,知道它是什么、有什么用,接下來(lái)就要學(xué)習(xí)它該怎么樣了。
新聞標(biāo)題:系統(tǒng)學(xué)習(xí)TypeScript之一認(rèn)識(shí)TypeScript
地址分享:http://m.5511xx.com/article/dhsesdh.html


咨詢
建站咨詢
