Interface 介面


擴展(Extends)

假設我們定義了一個 Person 介面

interface Person {
  name: string;
  age: number;
}

接著定義一個新介面,並透過 extends 擴充 Person

interface User extends Person {
  id: number;
  createdAt: string;
}

使用 User 介面的資料,就必須包含 nameageidcreatedAt 參數

const user: User = {
  name: 'Daniel',
  age: 18,
  id: 123,
  createdAt: '2024-01-22'
}


合併(Merging)

介面可以被重複宣告,以下範例最後結果會是兩者合併

interface Vehicle {
  id: number;
  brand: string;
}

interface Vehicle {
  color: string;
  isElectric: boolean;
}

const car: Vehicle {
  id: 123,
  brand: 'audi',
  color: 'white';
  isElectric: false
}


Type Aliases 型別別名