1. 程式人生 > 實用技巧 >【TypeScript】TypeScript為什麼能成為前端圈新寵?

【TypeScript】TypeScript為什麼能成為前端圈新寵?

TypeScript為什麼能成為前端圈新寵?

前端開發有一個定律叫做Atwood定律,那就是“任何能用JavaScript實現的應用,最終都會用JavaScript實現。”

從移動端到後端服務,從 IoT 到神經網路,JavaScript幾乎無處不在。如此廣闊的應用領域,自然對語言的安全性、健壯性和可維護性有更高的要求。

儘管ES標準在近幾年有了長足的進步,但在型別檢查方面依然無所建樹。不知道朋友們是否經常遇到過如下場景:

  1. 你呼叫一個別人寫的函式,很不幸,這個傢伙沒有留下任何註釋,為了搞清楚引數型別,你有可能是硬著頭皮去看裡面的邏輯,也有可能是找到寫這個函式的人在哪裡呼叫過這個函式,然後console出引數。
  2. 為了保證程式碼的健壯性,你很有責任心,對一個函式的輸入引數進行各種假設,最終給老闆盛上了一碗香噴噴的義大利麵。
  3. 領導看好你,讓你維護一個重要的底層類庫,你殫精竭慮,優化了一個引數型別,但不知道有多少處引用,在提交程式碼前,是否感到脊背發涼?
  4. 明明定義好了介面,可是一聯調就報錯了–“TypeError: Cannot read property ‘length’ of
    undefined”,於是你怒氣衝衝地去找後端理論:“嘿,哥們兒!這個欄位是陣列!這個欄位是陣列!這個欄位是陣列!”

以上情況歸根結底,是因為JavaScript是一門動態弱型別語言,對變數的型別非常寬容,而且不會在這些變數和它們的呼叫者之間建立結構化的契約。如果你長期在沒有型別約束的環境下開發,就會造成“型別思維

”的缺失,養成不良的程式設計習慣,這也是做前端開發的短板之一,值得我們警醒。

幸運的是,TypeScript的出現很好的彌補了JavaScript在靜態型別檢查方面的缺陷。它為JavaScript提供了良好的型別檢查支援,而且能夠編譯成標準的JavaScript。

在可預見的未來,TypeScript將稱為前端開發者必須掌握的開發語言之一


那麼, TypeScript 究竟有哪些特性使得它成為大家的”剛需“?
一,型別檢查。
TypeScript會在編譯程式碼時進行嚴格的靜態型別檢查,這意味著你可以在編碼階段發現可能存在的隱患,而不必把它們帶到線上。

二,語言拓展。
TypeScript 會包括來自 ES6 和未來提案中的特性,比如非同步操作和裝飾器;也會從其他語言借鑑某些特性,比如介面和抽象類。

三,工具屬性。
TypeScript 能夠編譯成標準的 JavaScript,可以在任何瀏覽器、作業系統上執行,無需任何執行時的額外開銷。從這個角度上講,TypeScript 更像是一個工具,而不是一門獨立的語言。

除此之外,TypeScript 還可以幫助團隊重塑“型別思維”,介面提供方將被迫去思考 API 的邊界,他們將從程式碼的編寫者蛻變為程式碼的設計者。

TypeScript核心知識框架圖:
在這裡插入圖片描述