【TypeScript】型の定義:type

Javaでいうところのinterfaceのようなもの。

type ABCD = {
  val1: string,
  val2: number
}

使うとき

const abcde: ABCD = {
  val1: "値1".
  val2: 1234
}

特徴

  • 基本的に型そのものに拡張はできない

ABCDtypeval3というプロパティを追加することはできない

  • 継承して拡張することはできる
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が一番型定義しやすい気がする。