Javaでいうところのinterface
のようなもの。
type ABCD = { val1: string, val2: number }
使うとき
const abcde: ABCD = { val1: "値1". val2: 1234 }
特徴
- 基本的に型そのものに拡張はできない
ABCD
のtype
にval3
というプロパティを追加することはできない
- 継承して拡張することはできる
type EFGH = ABCD & { val3: string; }; const efgh : EFGH = { val1: "efgh", val2: 5678, val3: "jklm" }; // コンパイルエラーが起きない
下記の方が可読性はよい
type EFGH = { val3: string }; type ABCDEFGH = ABCD & EFGH; const abcdefgh : ABCDEFGH= { val1: "efgh", val2: 5678, val3: "jklm" }
他、interfaceやclassも存在するが、typeが一番型定義しやすい気がする。