TypeScript 是 JS 的超集蝇狼,JS有的TypeScript都有阅畴,是Type和JavaScipt的結(jié)合,在JS的基礎(chǔ)上為 JS 添加了類型系統(tǒng)迅耘。
從編程語言的動靜來區(qū)分贱枣,TypeScript屬于靜態(tài)類型的編程語言,JS屬于動態(tài)類型的編程語言颤专。靜態(tài)類型是編譯期做類型檢查纽哥,動態(tài)類型是執(zhí)行期做類型檢查。代碼編譯和代碼執(zhí)行的順序本身是1編譯2執(zhí)行栖秕。
對于JS來說:需要等到代碼真正去執(zhí)行的時候才能發(fā)現(xiàn)錯誤(晚)春塌。
對于TS來說:在代碼編譯的時候(代碼執(zhí)行前)就可以發(fā)現(xiàn)措誤(早)。
并且,配合VSCode等開發(fā)工具只壳,TS可以提前到在編寫代碼的同時就發(fā)現(xiàn)代碼中的錯誤俏拱,減少找Bug、改Bug時間吼句。相比JS锅必,開發(fā)體驗更友好,增加開發(fā)了開發(fā)的幸福度惕艳。
TypeScript相比JS的優(yōu)勢:
1.更早(寫代碼的同時)發(fā)現(xiàn)錯誤搞隐,減少找Bug、改Bug時間远搪,提升開發(fā)效率劣纲。
2.程序中任何位置的代碼都有代碼提示,隨時隨地的安全感谁鳍,增強(qiáng)了開發(fā)體驗味廊。
3.強(qiáng)大的類型系統(tǒng)提升了代碼的可維護(hù)性,使得重構(gòu)代碼更加容易棠耕。
4.支持最新的ECMAScript語法,優(yōu)先體驗最新的語法柠新,讓你走在前端技術(shù)的最前沿窍荧。
5.TS類型推斷機(jī)制,不需要在代碼中的每個地方都顯示標(biāo)注類型恨憎,讓你在享受優(yōu)勢的同時蕊退,盡量降低了成本。除此之外憔恳,Vue 3源碼使用TS重寫瓤荔、Angular默認(rèn)支持TS、React與TS完美配合钥组,TypeScript已成為大中型前端項目的首先編程語言输硝。