1文字列でも数値でもよい会員ID
string | number と書くだけで「どちらかが入る」変数を作れる、ユニオン型の最小の例です。候補に含まれない boolean などを代入しようとするとエラーになります。
TypeScript
2ユニオン型を受け取る関数
関数の引数をユニオン型にすると、1つの関数で複数の型の入力を受け付けられます。文字列の連結はどちらの型でも成立する共通の操作なので、絞り込みなしでそのまま使えます。
TypeScript
3ユニオン型の配列
(string | number)[] と書くと、文字列と数値が混在する配列を表せます。カッコの位置が重要で、string | number[] だと「文字列か、数値の配列か」という別の意味になる点も覚えておきましょう。
TypeScript
4共通のメンバーだけが使える
ユニオン型の値には、すべての候補に共通する操作しかできません。string と string[] はどちらも length を持つので使えますが、toUpperCase のような string 専用メソッドはこのままでは呼べません。
TypeScript
5見つからないかもしれない検索結果
「見つかれば Member、見つからなければ null」という検索関数の戻り値は、実務で最も出会うユニオン型です。null の可能性が型に現れるため、呼び出し側はその存在を無視できなくなります。
TypeScript