目錄
TypeScript 類別 (Class)
TypeScript 是一種由微軟開發的 JavaScript 超集,擁有 JavaScript 所沒有的特性,其中之一就是類別 (Class)。在 2025 年,TypeScript 的類別功能持續進化,提供開發者更靈活的方式來組織和重用程式碼。
什麼是類別 (Class)
類別 (Class) 是一種封裝機制,可以將屬性和方法組合在一起,形成一個可重用的模板。這種封裝使得開發者能夠更高效地撰寫程式,避免重複的程式碼,並提供更好的結構化。
TypeScript 中的類別 (Class)
TypeScript 中的類別提供了更多的特性,讓開發者能輕鬆地創建靈活的程式。以下是一些關鍵特性:
建立類別 (Class)
使用 class
關鍵字來建立一個類別,並使用 constructor
定義類別的屬性,methods
定義類別的方法:
class Person {
constructor(public name: string, public age: number) {}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
建立類別的實例
使用 new
關鍵字來建立類別的實例:
const person = new Person("John", 20);
person.sayHello(); // Hello, my name is John
繼承
TypeScript 支援類別的繼承,使用 extends
關鍵字來繼承一個類別:
class Student extends Person {
constructor(name: string, age: number, public major: string) {
super(name, age);
}
sayHello() {
console.log(`Hello, my name is {this.name}, I'm majoring in{this.major}`);
}
}
靜態屬性和方法
TypeScript 支援靜態屬性和方法,使用 static
關鍵字來定義:
class Person {
static species = "Homo sapiens";
static isAdult(age: number): boolean {
return age >= 18;
}
constructor(public name: string, public age: number) {}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
console.log(Person.species); // Homo sapiens
console.log(Person.isAdult(20)); // true
錯誤排除
在使用 TypeScript 類別時,常見的錯誤包括:
1. **未定義的屬性**:確保在使用屬性之前已經在類別中定義。
2. **類別實例化錯誤**:確認使用 new
關鍵字正確實例化類別。
延伸應用
類別不僅可以用於簡單的數據結構,還可以與其他 TypeScript 特性結合使用,例如介面 (Interfaces) 和泛型 (Generics),進一步提升代碼的靈活性與可重用性。
結語
TypeScript 的類別功能讓開發者能夠更高效地開發程式,並提供了許多強大的特性,例如建立類別、繼承、靜態屬性和方法等。若想深入了解,請參考官方文檔:[TypeScript 類 (Class)](https://www.typescriptlang.org/docs/handbook/classes.html)。
Q&A(常見問題解答)
Q1: TypeScript 和 JavaScript 的類別有什麼不同?
A1: TypeScript 的類別提供了靜態類型檢查和其他高級特性,讓開發者能更好地管理大型應用程式的結構。
Q2: 如何在 TypeScript 中使用介面與類別結合?
A2: 可以使用介面來定義類別的結構,然後在類別中實現這些介面,這樣可以確保類別遵循特定的結構。
Q3: TypeScript 中的靜態方法有什麼用途?
A3: 靜態方法可以在不實例化類別的情況下直接調用,通常用於執行與類別本身相關但不依賴於特定實例的功能。
—