對(duì) TS 的第一印象
首次接觸 TS 時(shí)覺得 TS 既繁瑣又復(fù)雜叽粹,限制還很多又要轉(zhuǎn)換蛆楞,搞不懂為什么要在項(xiàng)目中使用 TS也物。更更關(guān)鍵的是 TS 官方文檔閱讀起來相當(dāng)吃力叛赚,很多語法技術(shù)點(diǎn)講解的都讓人難以理解澡绩;這就讓我又加重了對(duì) TS 的反感程度。
既然那么多人都比較推崇 TS俺附,而且項(xiàng)目領(lǐng)導(dǎo)也已經(jīng)決定在項(xiàng)目中使用 TS肥卡,那么 TS 肯定有我沒有體會(huì)到的優(yōu)勢(shì)存在,而且這種優(yōu)勢(shì)必然很大事镣,大到讓它所有的缺點(diǎn)都顯得微不足道步鉴。
鑒于對(duì)廣大程序員網(wǎng)友以及項(xiàng)目領(lǐng)導(dǎo)的信任,只能攥著拳頭璃哟,硬著頭皮就開始了我的 TS 學(xué)習(xí)和使用之路氛琢。跟著項(xiàng)目領(lǐng)導(dǎo)開發(fā)這個(gè)項(xiàng)目的過程中,一邊查文檔一邊開發(fā)随闪,就這樣慢慢的好像對(duì) TS 有了一些體會(huì)阳似,在一遍遍的閱讀理解官網(wǎng)語法以及使用的過程中,對(duì) TS 的體會(huì)和理解也就越來越深铐伴。以至于現(xiàn)在如果在項(xiàng)目中不使用 TS 就總覺得缺少點(diǎn)什么撮奏,總覺得項(xiàng)目不夠完整俏讹,也不夠嚴(yán)謹(jǐn)。
現(xiàn)在就簡(jiǎn)單聊一下我認(rèn)為的 TS 的優(yōu)點(diǎn):
方便更準(zhǔn)確的檢查錯(cuò)誤挽荡。比如靜態(tài)提示藐石,有啥問題不運(yùn)行就會(huì)直接提示,在一定程度上規(guī)避了弱類型的弊端定拟。
給程序帶來穩(wěn)定性和可預(yù)測(cè)性于微。比如提供的一個(gè)變量可能是這個(gè)類型,也可能是另一個(gè)類型青自,這對(duì)于引擎來說是由類型轉(zhuǎn)換的開銷的株依;而是用 TS 就不需要擔(dān)心,因?yàn)樗念愋褪敲鞔_的延窜。還有就是看到類型就知道參數(shù)恋腕,基本也就了解需要哪些,寫了什么逆瑞,還有代碼提示荠藤,這在維護(hù)或修改代碼的時(shí)候非常舒服也非常友好。
提供了靜態(tài)類型檢查获高。項(xiàng)目中不在需要 typeof 檢查類型哈肖,數(shù)據(jù)類型是之前就規(guī)定好的。比如 react 中的 props 就不再需要寫 PropTypes 進(jìn)行類型檢查念秧。