typescript中使用type,class,interface定義數據結構的區別

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定義則會被編譯到代碼中

發佈了92 篇原創文章 · 獲贊 33 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章