Dev Study
TypeScript コース

21. typeof による絞り込み

ユニオン型の値は、if 文で typeof を確かめると、そのブロックの中では型が自動的に絞り込まれます。これを絞り込み(narrowing)と呼びます。typeof value === "string" の中では value は string として扱われ、文字列のメソッドが使えるようになります。

「ユニオンで受け取り、絞り込んでから使う」は TypeScript で最も重要なパターンの1つです。特別な構文は不要で、普段どおりの条件分岐を書くだけで型が賢く変わります。

if の中で return すれば、それ以降のコードでは残りの型に絞り込まれます。分岐を抜けた後も絞り込みが効く、という点まで含めて動きを確かめてみましょう。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

TypeScript
公式ドキュメントで詳しく ↗