介面

介面與型別別名

介面適用於指定物件的形狀,例如,對於你可以指定的人物物件

interface person {
    id?: number;
    name: string;
    age: number;
}

但是,如果你想表示一個人儲存在 SQL 資料庫中的方式怎麼辦?看到每個資料庫條目都包含一行形狀 [string, string, number](所以是一個字串或數字的陣列),你無法將其表示為一個物件形狀,因為該行沒有任何屬性,它只是一個陣列。

這是一種型別有用的場合。你可以為行建立單獨的型別別名,然後在每個函式中使用它,而不是在接受行引數 function processRow(row: [string, string, number]) 的每個函式中指定:

type Row = [string, string, number];
function processRow(row: Row)

官方介面文件

https://www.typescriptlang.org/docs/handbook/interfaces.html