🦄

TypeScriptのUnion型について軽く知ろう

2022/03/08に公開

Union型って?

Union型は「いずれかの型」を表現します。片方を満たせばOK。

書き方

パイプ記号(|)でつなぎます。

const userId: string | number;

JavaScriptの論理和(OR)演算子が||なのでイメージしやすいですよね。

型を宣言する場合は以下の通り。

type UserId = string | number;

慣例に倣ってtype名は先頭大文字のパスカルケースを採用しています。
nullundefinedを許容する場合にも使用できます。

type Age = string | null;
type Name = string | undefined;

応用

もちろんinterfaceを用いることもできます。

interface RegularMember {
  name: string;
  id: string;
}

interface PremiumMember {
  name: string;
  id: string;
  discountRate: number;
}

type MemberInfo = RegularMember | PremiumMember;

Discussion