新聞中心
一名曾僅使用 JavaScript 的開發(fā)者解釋自己為何從反對 TypeScript 到轉(zhuǎn)變?yōu)?TypeScript 粉絲。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)相城,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
Chirag Swadia 自稱曾是 Anti-TypeScript 的 JavaScript 開發(fā)者。談及反對的原因,他以前一直認為給函數(shù)/變量添加類型以滿足 TypeScript 編譯器的要求屬于過度工程化 (Over-Engineering) 的設(shè)計。因為這并沒有提供任何有意義的便利之處,而且降低了開發(fā)效率——Chirag 表示自己最初總會遇到一些難以理解的編譯錯誤,需要花費時間來處理。他也因此感受到了挫敗感,并開始討厭 TypeScript。
另一方面的原因是,Chirag 難以理解 TypeScript 中像泛型這樣的高級概念。他覺得自己身處 Java 世界,每行代碼都有很強的類型化,讓人不知所措。在 Chirag 開始學(xué)習(xí) TypeScript 時,他甚至?xí)ε孪旅孢@種簡單的代碼。
▲ TypeScript 泛型示例
因此,由于上述原因,雖然 Chirag 通過觀看教程或閱讀書籍來學(xué)習(xí) TypeScript,但從未參與過任何使用 TypeScript 編寫的企業(yè)項目。
變化出現(xiàn)在 Chirag 擔(dān)任新職務(wù)之后,此時項目的技術(shù)棧為 TypeScript,他所負責(zé)的應(yīng)用都是 TypeScript 編寫(只有遺留下來的代碼是 JavaScript 代碼),因此他不得不寫起了 TypeScript 代碼。正如 Chirag 所預(yù)料的那樣,起初這對于他來說是一個巨大的挑戰(zhàn),他對 TypeScript 的恨意也因此越來越大,但最終在幾個月后,他發(fā)現(xiàn)了 TypeScript 的好處以及其他人喜歡 TypeScript 而不是 JavaScript 的原因。
[[384920]]
Chirag 也列出了自己成為 TypeScript 粉絲的三大理由。
不可能狀態(tài)無法恢復(fù)并進行詳盡的檢查
Chirag 表示這是他喜歡 TypeScript 的主要原因。他引用了在 React 應(yīng)用中利用 TypeScript 來避免不可能狀態(tài)的例子,此例子描述了交通信號燈系統(tǒng)處理不可能狀態(tài)的案例(點此查看)。
可盡早發(fā)現(xiàn)錯誤
Chirag 表示在使用 JavaScript 時,曾遇到過多次由于在前端沒有進行類型檢查而在生產(chǎn)環(huán)境發(fā)現(xiàn) bug 的情況。這些 bug 本可以避免,并且可以在編譯時被 TypeScript 編譯器發(fā)現(xiàn),這樣可以節(jié)省研發(fā)和 QA 的工作周期。
他認為使用 TypeScript 可以將一切都保持為最初定義的狀態(tài),如果將變量聲明為布爾型,則它將始終是布爾型,并且不會變成數(shù)字。這提升了代碼按照最初預(yù)期方式運行的可能性。簡而言之,代碼是可預(yù)測的。
具有豐富的 IDE 支持并易于重構(gòu)
Chirag 認為,類型相關(guān)的信息可以使 IDE 更好地發(fā)揮其用處,例如獲得代碼跳轉(zhuǎn)和自動補全等功能,IDE 會提供準確的建議。此外,在輸入代碼時會獲得即時反饋,因為編輯器會在錯誤發(fā)生時立即標記出錯誤,包括與類型相關(guān)的錯誤。這些功能可幫助開發(fā)者寫出可維護的代碼,并帶來巨大的生產(chǎn)力提升。
至于重構(gòu),Chirag 舉了一個例子,比如引入一個新狀態(tài)或者移除應(yīng)用程序正在使用的不必要狀態(tài),如果此時忘記更新部分引用,TypeScript 編譯器就會進行警告。他還表示重構(gòu)后的應(yīng)用程序?qū)⒁灾貥?gòu)前的方式工作,所以不用擔(dān)心兼容方面的問題。
本文轉(zhuǎn)自O(shè)SCHINA
本文標題:我為什么對 TypeScript 由黑轉(zhuǎn)粉?
本文地址:https://www.oschina.net/news/131695/anti-ts-developer-became-a-ts-fan
網(wǎng)頁名稱:我為什么對TypeScript由黑轉(zhuǎn)粉?
網(wǎng)站路徑:http://m.5511xx.com/article/dhhsphd.html


咨詢
建站咨詢
