TypeScript
名詞 · 程式語言
由 Microsoft 開發的 JavaScript 型別超集,新增了可選的靜態型別系統——能在編譯時而非執行時偵測錯誤,大幅減少生產環境的 bug 並改善大規模專案的可維護性。
開源程式語言,可轉譯為標準 JavaScript,相容所有瀏覽器和 Node.js 環境——提供介面、泛型、列舉和裝飾器等進階功能,同時保持與現有 JavaScript 生態系統的完全相容。
被 Angular、Google、Microsoft 和 Slack 的內部專案採用的產業標準,TypeScript 已成為尋求保護程式碼、改善 IDE 自動完成並促進複雜程式碼庫協作的專業開發團隊的首選。
要用 TypeScript 編程,首先透過 `npm install -g typescript` 安裝編譯器,然後建立副檔名為 `.ts` 的檔案。您可以在經典 JavaScript 中加入型別註解:`function greet(name: string): string return 'Bonjour ' + name; `。然後用 `tsc` 編譯生成對應的 JavaScript 檔案。VS Code 等現代 IDE 提供原生整合,包括自動完成和即時錯誤偵測,大幅加速開發流程。
TypeScript 特別適合涉及多位開發者的大型專案、可靠性至關重要的關鍵應用程式,以及需要長期演進的程式碼庫。它非常適合使用 Node.js 的後端 API、使用 React 或 Angular 的複雜前端應用程式,以及團隊間共享的函式庫。一旦專案超過數百行程式碼或涉及一位以上的開發者,TypeScript 在品質和生產力方面就成為一項值得的投資。
根據倫敦大學學院的研究,使用 TypeScript 可以透過編譯時型別檢查將生產環境的 bug 減少高達 15%。它大幅改善開發者體驗,提供智慧自動完成、便捷的程式碼導航和安全的重構。TypeScript 還使程式碼自我文件化:型別簽名作為 IDE 用以引導開發者的活文件。對於任何有雄心的專業專案,這是我們推薦的生產力和軟體品質工具。
TypeScript 被全球最大的科技企業採用:Microsoft(為開發 VS Code 而建立了 TypeScript)、Google(為 Angular 採用了 TypeScript)、Slack、Airbnb、Bloomberg 和 Stripe。Vercel 的 Next.js 團隊也用它來開發框架本身。根據 State of JS 2024,TypeScript 是 JavaScript 生態系統中最受歡迎的語言,滿意度超過 90%。這種大規模採用確保了豐富的型別生態系統和活躍的社群。
TypeScript 由 Anders Hejlsberg 在 Microsoft 建立,於 2012 年 10 月公開發布。Anders Hejlsberg 也是 C# 和 Turbo Pascal 的創建者,使他成為程式設計史上最具影響力的工程師之一。該專案源於 Microsoft 需要使用 JavaScript 開發大規模網頁應用程式,同時保留編譯語言提供的型別安全性。如今,TypeScript 是一個託管在 GitHub 上的開源專案,擁有數千名貢獻者。
要在專案中使用 TypeScript,請用 `npx tsc --init` 初始化配置,它會生成 `tsconfig.json` 檔案,讓您自訂嚴格程度和編譯選項。將您的 `.js` 檔案重新命名為 `.ts`(React 則為 `.tsx`)並逐步添加型別註解。Next.js 和 Angular 等現代框架提供零配置的原生 TypeScript 支援。採用可以是漸進式的:TypeScript 接受純 JavaScript,讓您按自己的節奏遷移程式碼庫。
根本區別在於 TypeScript 為 JavaScript 添加了靜態型別系統:變數、參數和函式回傳值具有在執行前驗證的明確型別。JavaScript 是動態型別的——型別錯誤只在執行時才被偵測到。TypeScript 還引入了介面、列舉、泛型和存取修飾符。然而,所有有效的 JavaScript 程式碼同時也是有效的 TypeScript 程式碼,且 TypeScript 會轉譯為純 JavaScript 來執行。因此它是一層安全保護層,而非不同的語言。