前言:
TypeScript
是JavaScript
的超集,它可以編譯成純JavaScript
代碼。
那為什么會出現TypeScript
這門語言,主要是因為現在的JavaScript可以開發很多復雜的項目,但是JavaScript又缺乏其可靠性,在使用的時候需要我們為了代碼的健壯性需要添加很多業務邏輯去判斷。
TypeScript
可以運行在瀏覽器環境、Node.js環境或者ECMAScript3
或者更高的JavaScript
的引擎中。
JavaScript的問題主要有如下幾個:
JavaScript
的類型異常只有在運行的時候才可以發現。
因為JavaScript
的函數的類型是不明確的,有可能導致函數的最終功能導致出現問題,
如下這段代碼:
functionsum(x,y){returnx+y}sum(100,'100')//100100
JavaScript
是動態類型的編程語言,所謂的動態類型,就是在編譯時候時候才知道其數據類型是Number 還是String;而TypeScript
是靜態類型的編程語言,所謂的靜態類型就是編寫的時候就知道其數據類型是什么,比例定義一個變量
letnum:number=6;
num
這個變量從頭到尾只能是number
類型,如果將字符串賦值給他就會拋出異常。
所以說,TypeScript的優勢如下:
在開發過程中,就可以定位的錯誤的地方,方便我們檢查錯誤。
TypeScript
屬于漸進式的編程語言,如果不懂其語法可以完全將其當做JavaScript
來用。
減少了我們在開發過程中的不必要的類型檢查。
靜態類型的代碼提示是要優于靜態類型代碼提示的。
在進行項目重構的時候會更加簡單。
靜態類型的代碼語義化比動態類型更好,可讀性更好。
TypeScript
并不是只有優點,沒有缺點的,它的缺點都是相對于JavaScript來說,
具體如下幾點:
相對于JavaScript
來說,TypeScript本身增加了許多的概念。例如泛型、接口等概念。
使用TypeScript開發在短期內會增加一些成本,但是對于一個需要長期維護的項目,TypeScript
能夠減少其維護成本。
可能和一些庫結合的不是很完美。
TypeScript
是運行是建立在Node.js環
境基礎之上的,所以需要先安裝一下Node.js。
安裝Node.js等一系列操作以忽略
安裝TypeScript的命令如下:
npminstall-gtypescript@3.6.4
這里我通過@指定版本號,也可以不指定版本號
安裝完TypeScript
后,還需要安裝一個ts-node
的工具,如果安裝該工具話是不能直接運行TS代碼的,需要將TS的代碼編成JavaScript后才能執行。
執行流程如下:
#編譯TS代碼tscdemo.ts#編譯后會得到demo.js文件,然后就可以運行了
如果安裝了node-ts
工具后,就可以直接執行TS代碼了。
具體步驟如下:
#1.全局安裝npminstall-gts-node@8.4.1#2.運行代碼ts-nodedemo.ts
值得注意的是安裝之后的目錄一定需要在環境變量中,不然會報錯的。
我們在項目中執行ts文件時,如果不同文件中存在相同的變量名是會拋出異常的 ,
示例代碼如下:
a.tsletstr:string='HelloWorld'
b.tsletstr:string='一碗周'
此時就會拋出一個異常,即無法重新聲明塊范圍變量“str”,如果編輯器是VScode的話,鼠標懸停到變量名會進行提示。
解決這個問題的方式有兩種,第一種是為每個文件創建一個立即執行函數(即匿名函數),保證每個文件都擁有單獨的作用域。
示例代碼如下:
(function(){letstr:string='一碗周'}){}
第二種方式是使用export將當前文件作為模塊導出。示例代碼如下:
letstr:string='一碗周'export{}
關于TypeScript是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注本站行業資訊頻道了解更多相關知識。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
在學校介紹部分,除了大小前三,其他高中都是以總結的形式呈現給你。之前的審查如下:七科要考到多少分才能上外高?2022年鄭州外國語學校最全講解一中和省實驗詳細對比!教你2022年鄭州中考到底怎么選鄭州四中分數線和一中省實驗僅1分之差!但高考成績能否持平?鄭州小三甲高中高考成績PK!誰才是真正的領頭羊?重磅推出!2022年鄭州中考擇校之第一批次高中解讀(上) 重磅推出!2022年鄭州中考擇校之第一批次...
(資料圖片僅供參考)近日中國國際投資貿易洽談會組委會與普華永道共同公布了《中國投資熱點城市》報告。入圍《報告》的中國投資熱點城市或區域分別是廣州南沙區、贛州、長沙、荊州、貴陽、曲靖、成都、酒泉、銀川、鄂爾多斯、臨汾、保定、沈陽、哈爾濱新區、淄博、青島即墨區、福州、泉州。延伸閱讀:據了解,福州市2022上半年實現地區生產總值(GDP)5442.68億元,同比增長(下同)5.4%。其中,第一產業增加值...
社會保險基金是什么意思?是指為了保障保險對象的社會保險待遇,按照國家法律、法規,由繳費單位和繳費個人分別按繳費基數的一定比例繳納以及通過其他合法方式籌集的專項資金。社會保險基金是國家為舉辦社會保險事業而籌集的,用于支付勞動者因暫時或永久喪失勞動能力或勞動機會時所享受的保險金和津貼的資金。社會保險基金按照保險類型確定資金來源,逐步實行社會統籌。用人單位和勞動者必須依法參加社會保險,繳納社會保險費。社...