最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TypeScript安裝與使用的詳細(xì)教程

 更新時間:2023年01月10日 10:33:31   作者:亦世凡華、  
TypeScript是JavaScript的超集,擴(kuò)展了JavaScript的語法,因此現(xiàn)有的JavaScript代碼可與TypeScript一起工作無需任何修改,TypeScript通過類型注解提供編譯時的靜態(tài)類型檢查,下面這篇文章主要給大家介紹了關(guān)于TypeScript安裝與使用的詳細(xì)教程,需要的朋友可以參考下

初識TypeScript

TypeScript(簡稱:TS)是JavaScript的超集(JS有的TS都有)。

TypeScript = Type + JavaScript(在JS的基礎(chǔ)上,為JS添加了類型支持)。

TypeScript是微軟開發(fā)的開源編程語言,可以在任何運(yùn)行JavaScript的地方運(yùn)行。

TypeScript給JS添加類型支持的原因

背景:JS的類型系統(tǒng)存在 ” 先天缺陷 “ ,JS代碼中絕大部分錯誤都是類型錯誤(Uncaught TypeError)。

問題:增加了找bug,改bug的時間,嚴(yán)重影響開發(fā)效率。

從編程語言的動靜來區(qū)分:TypeScript屬于靜態(tài)類型編譯期做類型檢查)的編程語言,JS屬于動態(tài)類型執(zhí)行期做類型檢查)的編程語言,而代碼的編譯和執(zhí)行順序是先編輯后執(zhí)行,這就導(dǎo)致以下情況:

對于JS:需要等到代碼真正去執(zhí)行的時候才能發(fā)現(xiàn)錯誤(晚)。

對于TS:在代碼編譯的時候(代碼執(zhí)行前)就可以發(fā)現(xiàn)錯誤(早)。

配合VScode等開發(fā)工具,TS可以提前到在編寫代碼的同時就可以發(fā)現(xiàn)代碼中的錯誤,減少找bug和改bug的時間。

TypeScript相比JS的優(yōu)勢

1)更早(寫代碼的同時)發(fā)現(xiàn)錯誤,減少找bug改bug時間,提升開發(fā)效率。

2)程序中任何位置的代碼都有代碼提示,享受隨時隨地的安全感,增強(qiáng)了開發(fā)體驗。

3)強(qiáng)大的類型系統(tǒng)提升了代碼的可維護(hù)性,使得重構(gòu)代碼更加容易

4)支持最新的ES語法,優(yōu)先體驗最新的語法,走在前端技術(shù)的前沿。

5)TS類型推斷機(jī)制,不需要在代碼中的每個地方都顯示標(biāo)注類型,降低了成本。

TypeScript已經(jīng)成為大中型前端項目的首選編程語言,例如:Vue3源碼使用TS重寫、Angular默認(rèn)支持TS、React與TS能完美配合。

TS工具包的安裝

因為在Node.js/瀏覽器當(dāng)中,它們只認(rèn)識JS代碼不認(rèn)識TS代碼,因此我們要先將TS代碼轉(zhuǎn)換為JS代碼,然后才能運(yùn)行,所以我們需要安裝typescript包用來編譯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

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

TS文件的編譯和運(yùn)行

1)創(chuàng)建 test.ts 文件(注意:TS的文件的后綴名為.ts)。

2)將TS編譯為JS:在終端輸入命令:tsc test.ts(此時在同級目錄中會出現(xiàn)一個同名的JS文件)。

3)執(zhí)行JS代碼:在終端中輸入命令,node test.js。

這里的報錯提示:無法重新聲明塊范圍變量“age”。是因為我們在打開TS文件的同時又打開了JS文件,關(guān)閉JS文件報錯消失。

注意:所有合法的JS代碼都是TS代碼,由TS編譯生成的JS文件,代碼中就沒有類型信息了。

簡化TS的運(yùn)行步驟

根據(jù)上文的編譯運(yùn)行步驟我們發(fā)現(xiàn)每次修改代碼后,都要重復(fù)執(zhí)行兩個命令才能執(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文件

注意:簡寫 node TS文件 ,是可以執(zhí)行的,前提是TS文件中沒有任何的TS獨(dú)有的內(nèi)容,說白了就是一個JS文件,如下圖所示 node test.ts 是會報錯的,因為有了TS獨(dú)有的類型支持,刪掉 冒號+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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 讓alert不出現(xiàn)彈窗的兩種方法

    讓alert不出現(xiàn)彈窗的兩種方法

    這篇文章主要介紹了讓alert不出現(xiàn)彈窗的兩種方法,需要的朋友可以參考下
    2014-05-05
  • javascript中l(wèi)ength屬性的探索

    javascript中l(wèi)ength屬性的探索

    本文中,我將會通過類數(shù)組對象(array like object),探索javascript中的length屬性的一些秘密。
    2011-07-07
  • JavaScript數(shù)組some()函數(shù)的語法、用法與實(shí)戰(zhàn)示例

    JavaScript數(shù)組some()函數(shù)的語法、用法與實(shí)戰(zhàn)示例

    JavaScript中的數(shù)組some()方法用于檢查數(shù)組中是否至少有一個元素滿足指定條件,這篇文章主要介紹了JavaScript數(shù)組some()函數(shù)的語法、用法與實(shí)戰(zhàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • JavaScript?顯示一個倒計時廣告牌的實(shí)現(xiàn)示例

    JavaScript?顯示一個倒計時廣告牌的實(shí)現(xiàn)示例

    本文主要介紹了JavaScript?顯示一個倒計時廣告牌的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 使用JavaScript實(shí)現(xiàn)文本收起展開(省略)功能

    使用JavaScript實(shí)現(xiàn)文本收起展開(省略)功能

    省略號,作為一種常見的文本處理方式,在很多情況下都十分常見,特別是當(dāng)我們需要在省略號后面添加額外文字時,本文為大家介紹了使用JavaScript實(shí)現(xiàn)文本收起展開功能的相關(guān)方法,希望對大家有所幫助
    2024-04-04
  • 在光標(biāo)處插入字符串的實(shí)現(xiàn)代碼 兼容IE,Firefox

    在光標(biāo)處插入字符串的實(shí)現(xiàn)代碼 兼容IE,Firefox

    在光標(biāo)處插入字符串,一般用于網(wǎng)頁編輯器中,這里用的是text,需要的朋友可以參考下。
    2010-03-03
  • webpack中的模式(mode)使用詳解

    webpack中的模式(mode)使用詳解

    這篇文章主要介紹了webpack中的模式(mode)使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 一文詳細(xì)分析前端請求中的“Unsupported?Media?Type”問題

    一文詳細(xì)分析前端請求中的“Unsupported?Media?Type”問題

    在Web開發(fā)中,前后端交互頻繁遇到HTTP狀態(tài)碼415錯誤,這表明服務(wù)器無法處理因Content-Type不匹配的請求,常見于POST或PUT請求,必須確保請求頭中的Content-Type與服務(wù)器期望的一致,跨域請求中,需要的朋友可以參考下
    2024-10-10
  • window.print()打印html網(wǎng)頁的兩種方法實(shí)現(xiàn)

    window.print()打印html網(wǎng)頁的兩種方法實(shí)現(xiàn)

    本文主要介紹了window.print()打印html網(wǎng)頁的兩種方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ) 2.4

    JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ) 2.4

    DOM(Document Object Model),即“文檔對象模型”?;谡Z義的邏輯結(jié)構(gòu),DOM將網(wǎng)頁內(nèi)的元素與內(nèi)容呈現(xiàn)為一個清晰、易讀的樹狀模型,下面小編把最近整理有關(guān)javascript筆記之DOM基礎(chǔ)分享給大家,有需要的朋友可以參考下
    2015-08-08

最新評論

龙游县| 柳林县| 波密县| 刚察县| 苍溪县| 改则县| 毕节市| 子长县| 楚雄市| 商南县| 湘潭县| 双牌县| 咸宁市| 安阳市| 德安县| 沁水县| 武安市| 古浪县| 东莞市| 东乡县| 浙江省| 淮阳县| 松江区| 米泉市| 南岸区| 手游| 海原县| 儋州市| 阜宁县| 正定县| 攀枝花市| 武穴市| 涿鹿县| 利川市| 时尚| 鲁山县| 韩城市| 汝州市| 同仁县| 游戏| 九江县|