interface(インターフェース)と type alias(型エイリアス)は、どちらも TypeScript で「型(データの形)」を表す方法 です。
見た目や用途が似ていて混乱しがちですが、それぞれ得意な場面が少しずつ違います。(typescriptlang.org)
interface User {
name: string;
age: number;
}
function greet(user: User) {
console.log(`こんにちは、${user.name}さん!`);
}
type UserType = {
name: string;
age: number;
};
type ID = string | number;
interface も type も、上の User のように オブジェクトの形を定義できます。