【TypeScript】【インターセクション型】【ユニオン型】について

はじめに

この記事は【インターセクション型】【ユニオン型】についての備忘録である。

【インターセクション型】とは

  • インターセクション型 (Intersection Type)またの名を交差型という
  • TypeScriptで複数の型を結合して新しい型を作成するための方法
  • インターセクション型で作成されるのは、それぞれの型に代入可能な値の 積集合(インターセクション)
  • インターセクション型の持つプロパティは、それぞれの型に持っているプロパティの 和集合(ユニオン)

サンプルコード

type TwoDimensionalPoint = {
  x: number;
  y: number;
};
type Z = {
  z: number;
};
type ThreeDimensionalPoint = TwoDimensionalPoint & Z;
const p: ThreeDimensionalPoint = {
  x: 0,
  y: 1,
  z: 2,
};
// プリミティブ型のインターセクション型
type Never = string & number;

const n: Never = "2";

【ユニオン型】とは

  • ユニオン型 (Union Type)またの名を「共用体型」や「合併型」という
  • 変数が持つことのできる型を複数指定するためのもの
  • ある変数が複数の異なる型の値を取る可能性がある場合に使用する

サンプルコード

let numberOrUndefined: number | undefined;

type ErrorCode =
  | 400
  | 401
  | 402
  | 403
  | 404
  | 405;

コメント

タイトルとURLをコピーしました