typescript中聲明一個類型,我們通常會有3種做法,他們都可以去繼承:
1.interface
interface User {
name: string
age: number
}
interface SetUser {
(name: string, age: number): void;
}
interface SetUser extends User {
age: number;
}
2.type type 可以聲明基本類型別名,聯合類型,元組等類型
type Name = {
name: string;
}
type User = Name & { age: number };
3.class
class User = {
name: string;
}
class Man extends User {
age:18
}
還有一個性能方面的原因,type和interface在編譯時會被消除,而class定義則會被編譯到代碼中