TypeScript安裝與使用的詳細(xì)教程
初識(shí)TypeScript
TypeScript(簡(jiǎn)稱:TS)是JavaScript的超集(JS有的TS都有)。
TypeScript = Type + JavaScript(在JS的基礎(chǔ)上,為JS添加了類型支持)。
TypeScript是微軟開發(fā)的開源編程語(yǔ)言,可以在任何運(yùn)行JavaScript的地方運(yùn)行。

TypeScript給JS添加類型支持的原因
背景:JS的類型系統(tǒng)存在 ” 先天缺陷 “ ,JS代碼中絕大部分錯(cuò)誤都是類型錯(cuò)誤(Uncaught TypeError)。
問題:增加了找bug,改bug的時(shí)間,嚴(yán)重影響開發(fā)效率。
從編程語(yǔ)言的動(dòng)靜來(lái)區(qū)分:TypeScript屬于靜態(tài)類型(編譯期做類型檢查)的編程語(yǔ)言,JS屬于動(dòng)態(tài)類型(執(zhí)行期做類型檢查)的編程語(yǔ)言,而代碼的編譯和執(zhí)行順序是先編輯后執(zhí)行,這就導(dǎo)致以下情況:
對(duì)于JS:需要等到代碼真正去執(zhí)行的時(shí)候才能發(fā)現(xiàn)錯(cuò)誤(晚)。
對(duì)于TS:在代碼編譯的時(shí)候(代碼執(zhí)行前)就可以發(fā)現(xiàn)錯(cuò)誤(早)。
配合VScode等開發(fā)工具,TS可以提前到在編寫代碼的同時(shí)就可以發(fā)現(xiàn)代碼中的錯(cuò)誤,減少找bug和改bug的時(shí)間。
TypeScript相比JS的優(yōu)勢(shì)
1)更早(寫代碼的同時(shí))發(fā)現(xiàn)錯(cuò)誤,減少找bug改bug時(shí)間,提升開發(fā)效率。
2)程序中任何位置的代碼都有代碼提示,享受隨時(shí)隨地的安全感,增強(qiáng)了開發(fā)體驗(yàn)。
3)強(qiáng)大的類型系統(tǒng)提升了代碼的可維護(hù)性,使得重構(gòu)代碼更加容易。
4)支持最新的ES語(yǔ)法,優(yōu)先體驗(yàn)最新的語(yǔ)法,走在前端技術(shù)的前沿。
5)TS類型推斷機(jī)制,不需要在代碼中的每個(gè)地方都顯示標(biāo)注類型,降低了成本。
TypeScript已經(jīng)成為大中型前端項(xiàng)目的首選編程語(yǔ)言,例如:Vue3源碼使用TS重寫、Angular默認(rèn)支持TS、React與TS能完美配合。
TS工具包的安裝
因?yàn)樵贜ode.js/瀏覽器當(dāng)中,它們只認(rèn)識(shí)JS代碼不認(rèn)識(shí)TS代碼,因此我們要先將TS代碼轉(zhuǎn)換為JS代碼,然后才能運(yùn)行,所以我們需要安裝typescript包用來(lái)編譯TS代碼包,實(shí)現(xiàn) TS -> JS 的轉(zhuǎn)化。

注意:要想使用TS首先你得有node環(huán)境,沒有環(huán)境的先去百度一下搭建一下node環(huán)境。
win+R 輸入 cmd 在終端安裝如下命令(進(jìn)行全局安裝):
npm install -g typescript

驗(yàn)證是否安裝成功:tsc -v(查看 typescript 的版本):

TS文件的編譯和運(yùn)行
1)創(chuàng)建 test.ts 文件(注意:TS的文件的后綴名為.ts)。
2)將TS編譯為JS:在終端輸入命令:tsc test.ts(此時(shí)在同級(jí)目錄中會(huì)出現(xiàn)一個(gè)同名的JS文件)。
3)執(zhí)行JS代碼:在終端中輸入命令,node test.js。

這里的報(bào)錯(cuò)提示:無(wú)法重新聲明塊范圍變量“age”。是因?yàn)槲覀冊(cè)诖蜷_TS文件的同時(shí)又打開了JS文件,關(guān)閉JS文件報(bào)錯(cuò)消失。
注意:所有合法的JS代碼都是TS代碼,由TS編譯生成的JS文件,代碼中就沒有類型信息了。
簡(jiǎn)化TS的運(yùn)行步驟
根據(jù)上文的編譯運(yùn)行步驟我們發(fā)現(xiàn)每次修改代碼后,都要重復(fù)執(zhí)行兩個(gè)命令才能執(zhí)行TS代碼,十分繁瑣。TS官方給我們提供了 ts-node 包,能夠讓我們 “直接( ts-node命令在內(nèi)部偷偷的將TS - >JS,然后在運(yùn)行JS代碼)” 在Node.js中執(zhí)行TS代碼。
ts-node包安裝:
npm install -g ts-node

使用方式:ts-node TS文件
注意:簡(jiǎn)寫 node TS文件 ,是可以執(zhí)行的,前提是TS文件中沒有任何的TS獨(dú)有的內(nèi)容,說白了就是一個(gè)JS文件,如下圖所示 node test.ts 是會(huì)報(bào)錯(cuò)的,因?yàn)橛辛薚S獨(dú)有的類型支持,刪掉 冒號(hào)+number 就可以執(zhí)行 node test.ts 了,這里了解一下。

附:查看ts版本、安裝、卸載
1、查看本機(jī)TS版本
npm view typescript version
2、查看本地是否安裝
npm ls typescript
3、安裝
npm i -g typescript
4、卸載
npm uninstall typescript
總結(jié)
到此這篇關(guān)于TypeScript安裝與使用的文章就介紹到這了,更多相關(guān)TS安裝與使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript數(shù)組some()函數(shù)的語(yǔ)法、用法與實(shí)戰(zhàn)示例
JavaScript中的數(shù)組some()方法用于檢查數(shù)組中是否至少有一個(gè)元素滿足指定條件,這篇文章主要介紹了JavaScript數(shù)組some()函數(shù)的語(yǔ)法、用法與實(shí)戰(zhàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
JavaScript?顯示一個(gè)倒計(jì)時(shí)廣告牌的實(shí)現(xiàn)示例
本文主要介紹了JavaScript?顯示一個(gè)倒計(jì)時(shí)廣告牌的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
使用JavaScript實(shí)現(xiàn)文本收起展開(省略)功能
省略號(hào),作為一種常見的文本處理方式,在很多情況下都十分常見,特別是當(dāng)我們需要在省略號(hào)后面添加額外文字時(shí),本文為大家介紹了使用JavaScript實(shí)現(xiàn)文本收起展開功能的相關(guān)方法,希望對(duì)大家有所幫助2024-04-04
在光標(biāo)處插入字符串的實(shí)現(xiàn)代碼 兼容IE,Firefox
在光標(biāo)處插入字符串,一般用于網(wǎng)頁(yè)編輯器中,這里用的是text,需要的朋友可以參考下。2010-03-03
一文詳細(xì)分析前端請(qǐng)求中的“Unsupported?Media?Type”問題
在Web開發(fā)中,前后端交互頻繁遇到HTTP狀態(tài)碼415錯(cuò)誤,這表明服務(wù)器無(wú)法處理因Content-Type不匹配的請(qǐng)求,常見于POST或PUT請(qǐng)求,必須確保請(qǐng)求頭中的Content-Type與服務(wù)器期望的一致,跨域請(qǐng)求中,需要的朋友可以參考下2024-10-10
window.print()打印html網(wǎng)頁(yè)的兩種方法實(shí)現(xiàn)
本文主要介紹了window.print()打印html網(wǎng)頁(yè)的兩種方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ) 2.4
DOM(Document Object Model),即“文檔對(duì)象模型”?;谡Z(yǔ)義的邏輯結(jié)構(gòu),DOM將網(wǎng)頁(yè)內(nèi)的元素與內(nèi)容呈現(xiàn)為一個(gè)清晰、易讀的樹狀模型,下面小編把最近整理有關(guān)javascript筆記之DOM基礎(chǔ)分享給大家,有需要的朋友可以參考下2015-08-08

