typescript
TypeScript 是 JavaScript 的超集,由 Microsoft 開發,提供靜態型別與型別檢查功能,能提升開發效能與程式碼品質,特別適用於大型或多人協作的專案。
為什麼要使用 TypeScript?
✅ 靜態型別檢查,減少執行期錯誤
✅ 更佳的 IDE 提示與自動完成(IntelliSense)
✅ 更容易維護與重構
✅ 相容所有 JavaScript 程式碼
安裝與初始化
全域安裝 TypeScript 編譯器
npm install -g typescript
建立 tsconfig.json
tsc --init
這個設定檔可控制編譯行為,例如輸出目錄、是否嚴格型別檢查等。
基本語法範例
型別註記
let age: number = 25;
let name: string = "Alice";
let isActive: boolean = true;
陣列與物件
let scores: number[] = [80, 90, 100];
let user: { name: string; age: number } = {
name: "Bob",
age: 30
};
函式參數與回傳值型別
function add(x: number, y: number): number {
return x + y;
}
function logMessage(msg: string): void {
console.log(msg);
}
介面(Interface)與物件型別
interface Person {
name: string;
age: number;
address?: string; // 可選屬性
}
const p: Person = { name: "Tom", age: 20 };
類別(Class)與修飾字
class Animal {
// public 預設,外部可存取
public name: string;
// private 僅限類別內部存取
private age: number;
// protected 可在子類別存取
protected type: string = "mammal";
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
public speak(): void {
console.log(`${this.name} makes a sound.`);
}
private getAge(): number {
return this.age;
}
}
編譯與執行
編譯 .ts 檔為 .js
tsc app.ts
即時執行 TypeScript(使用 ts-node)
npm install -g ts-node
ts-node app.ts
搭配 React、Vue 等框架
React:使用
.tsx
檔案,可提供元件型別支援Vue:支援
<script lang="ts">
,需搭配vue-tsc
與 JavaScript 的差異
功能
JavaScript
TypeScript
靜態型別檢查
❌
✅
編譯階段錯誤
❌
✅
介面定義
❌
✅
支援 ES 新語法
✅
✅
TypeScript 是現代 JavaScript 開發的進階利器,適合追求穩定性、可維護性與大型專案協作的開發者。無論是前端或後端(如 Node.js),都值得學習並導入。
Last updated