TypeScript 語言 (TypeScript Programming Language)
TypeScript 是由 Microsoft 開發的開源程式語言,它是 JavaScript 的超集 (superset),在 JavaScript 的基礎上加入了靜態型別系統 (static type system) 和其他進階特性。TypeScript 程式碼需要經過編譯 (compile) 轉換成 JavaScript 後,才能在瀏覽器或 Node.js 環境中執行。
TypeScript 的設計目標是讓開發者能夠在大型專案中更安全、更有效率地撰寫 JavaScript 程式碼。
TypeScript 於 2012 年首次公開發布,由 C# 的首席架構師 Anders Hejlsberg 主導設計。它提供了型別檢查、介面 (interface)、泛型 (generics) 等強大功能,同時保持與 JavaScript 的完全相容性。
為什麼要學 TypeScript?
- 靜態型別檢查:在編譯階段就能發現型別錯誤,減少執行時期的 bug
- 更好的開發體驗:編輯器能提供更精準的自動完成、重構和錯誤提示
- 程式碼可讀性:型別註解讓程式碼的意圖更加清晰
- 大型專案首選:適合團隊協作和維護大型程式碼庫
- 業界主流:Angular、Vue 3、React 生態系都大量採用 TypeScript
TypeScript 和 JavaScript 的關係
TypeScript 是 JavaScript 的超集,這意味著:
- 所有合法的 JavaScript 程式碼都是合法的 TypeScript 程式碼
- TypeScript 可以使用所有 JavaScript 的函式庫和框架
- TypeScript 最終會被編譯成純 JavaScript 執行
┌─────────────────────────────┐
│ TypeScript │
│ ┌───────────────────────┐ │
│ │ JavaScript │ │
│ │ ┌─────────────────┐ │ │
│ │ │ ECMAScript │ │ │
│ │ └─────────────────┘ │ │
│ └───────────────────────┘ │
└─────────────────────────────┘
TypeScript 的優點
編譯時期錯誤檢查
// JavaScript 不會在開發時期告訴你這個錯誤
function greet(name) {
console.log("Hello, " + name.toUpperCase());
}
greet(123); // 執行時才會出錯!
// TypeScript 會在編譯時就發現問題
function greet(name: string) {
console.log("Hello, " + name.toUpperCase());
}
greet(123); // 編譯錯誤:型別 'number' 不可指派給型別 'string'
更好的 IDE 支援
有了型別資訊,編輯器可以提供:
- 精準的自動完成建議
- 即時的錯誤提示
- 安全的重構功能
- 快速的程式碼導航
漸進式採用
你可以在現有的 JavaScript 專案中逐步引入 TypeScript,不需要一次全部改寫。
學習 TypeScript 的前置條件
在學習 TypeScript 之前,建議你已經具備:
- JavaScript 基礎知識
- 了解 ES6 語法 (如 arrow functions、class、modules 等)
- 基本的命令列操作能力
準備好了嗎?讓我們從安裝 TypeScript 開始吧!