TypeScript 是什么
TypeScript (簡稱:TS )是 JavaScript 的超集 ( JS 有的 TS 都有)。TypeScript = Type + JavaScript (在 JS 基礎(chǔ)之上,為 JS 添加了類型支持)。 TypeScript 是微軟開發(fā)的開源編程語言,可以在任何運行 JavaScript 的地方運行。
在JS的基礎(chǔ)下為什么要用ts
- js最開始是為了在前端做數(shù)據(jù)效驗,本身是有缺陷的----變量沒有類型
- 在大型項目中瓶埋,js在出錯之后,不好定位出錯的代碼诊沪,在執(zhí)行階段才能發(fā)現(xiàn)
3.ts需要添加類型养筒,在代碼編譯的時候ts(代碼執(zhí)行前)就可以發(fā)現(xiàn)錯誤 。 - ts屬于靜態(tài)類型的編程語言端姚, JS 屬于動態(tài)類型的編程語言晕粪。
靜態(tài)類型:編譯期做類型檢查; 動態(tài)類型:執(zhí)行期做類型檢查渐裸。
代碼編譯和代碼執(zhí)行的順序: 先編譯 后執(zhí)行巫湘。
TS的特點
- 給變量和函數(shù)參數(shù)定義數(shù)據(jù)類型
- ts需要編譯装悲,在編譯階段(cnpm i typescript -g )就可以發(fā)現(xiàn)數(shù)據(jù)類型錯誤,從根源上解決數(shù)據(jù)類型導(dǎo)致的一些bug
- 新增了一些特殊類型:元祖 泛型 聯(lián)合類型 字符串常量 構(gòu)造類修飾器--public(公共成員)剩膘、private(私有成員)衅斩、protected(保護(hù)成員)
- 只要是js可以執(zhí)行的平臺(瀏覽器盆顾,node)怠褐,ts都可以使用
- ts不能直接使用,需要編譯成js之后再去調(diào)用
- 可以給ts添加配置選項您宪,指定比如需要編譯的ts文件/目錄奈懒,以及轉(zhuǎn)成的js版本,模塊化的標(biāo)準(zhǔn)(commonJS/ES6)
- 程序中任何位置的代碼都有代碼提示 宪巨,隨時隨地的安全感磷杏,增強(qiáng)了開發(fā)體驗。
- 強(qiáng)大的類型系統(tǒng)提升了代碼的可維護(hù)性捏卓,使得重構(gòu)代碼更加容易极祸。
- TS 類型推斷機(jī)制, 不需要在代碼中的每個地方都顯示標(biāo)注類型 怠晴,讓你在享受優(yōu)勢的同時遥金,盡量降低了成本。
怎么使用TS
-
創(chuàng)建一個.ts文件
2.全局安裝ts(在終端編輯cnpm i typescript -g )
為什么要安裝編譯 TS 的工具包蒜田?
Node.js/瀏覽器稿械,只認(rèn)識 JS 代碼,不認(rèn)識 TS 代碼冲粤。需要先將 TS 代碼轉(zhuǎn)化為 JS 代碼美莫, 然后才能運行。
3.如果不知道有沒有安裝成功可以查看一下版本
-
開始編譯
隨后就會自動生成一個.js文件
-
在.ts里開始寫代碼梯捕,并且編譯厢呵,.js文件隨后也會同步(報錯可以不必理會,問題不大傀顾,不會影響運行)
-
在.ts里給變量添加類型注解
開始運行
出現(xiàn)上圖錯誤表明編譯錯了文件襟铭,應(yīng)該編譯.js文件
-
全局監(jiān)聽
初始化
自動生成(也可以自己手動添加)
打開文件,只留下編譯選項
編譯一下(會發(fā)現(xiàn)不會再報錯了)
然后進(jìn)行全局監(jiān)聽
出現(xiàn)上圖情況表明已經(jīng)監(jiān)聽成功
為什么要進(jìn)行監(jiān)聽
每次修改代碼后 锣笨,都要重復(fù)執(zhí)行兩個命令 蝌矛,才能運行 TS 代碼, 太繁瑣错英,于是就進(jìn)行監(jiān)聽 入撒,監(jiān)聽當(dāng)前目錄下的ts文件改變,并且如果沒有發(fā)現(xiàn)錯誤椭岩,就可以運行 JS 代碼茅逮。