Dev Study
← 解説「ユニオン型」に戻る

サンプルコードで身につける: ユニオン型

解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。

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