概要
TypeScriptで型を定義するには、typeまたはinterfaceを使う。
typeとinterfaceには細かい違いはいくつかあるが、普通に型を定義するだけであれば違いはない。
混在するとわかりづらくなるため、どちらを使うかプロジェクト内で統一するとよい。
定義方法の違い
- typeは代入、interfaceは宣言
type
type User = {
name: string;
age: number;
};interface
interface User {
name: string;
age: number;
}オブジェクト配列を型として定義する場合
- オブジェクト配列を型として定義する場合、typeは[]を使って
type Xxx = {hoge: string}[];とすることができるが、interfaceでは[]を使うことはできない - interfaceの場合はオブジェクトの定義と、その配列を継承した型の定義が必要となる。
interface Xxx { hoge: string }interface XxxArray extends Array<Xxx> {}


コメント