Dev Study
← 解説「typeof による絞り込み」に戻る

サンプルコードで身につける: typeof による絞り込み

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

1if と else で型が変わる

typeof の確認を通ると、if のブロック内では string、else 側では number として扱われる絞り込みの最小例です。それぞれのブロックで型専用のメソッドが使えることを確かめましょう。

TypeScript

2文字列か数値かを数値に統一する

「"3.14" のような数値の文字列か、数値そのもの」を受け取り、必ず number にして返す変換関数です。フォーム入力や設定値など、型が揺れる入力を入り口で統一する実務の頻出パターンです。

TypeScript

3早期 return で残りの型に絞る

if の中で return すると、それ以降のコードでは残りの型に絞り込まれたままになります。例外的なケースを先に返して、本筋の処理をネストなしで書ける読みやすいスタイルです。

TypeScript

43つの型を順番に絞り込む

候補が3つ以上でも、typeof の確認を重ねるたびに残りの候補が減っていきます。最後の return の時点では boolean しか残っていない、という消去法をコンパイラが追いかけてくれます。

TypeScript

5JSON データの中身を検証して使う

JSON.parse の結果は中身が保証できないので unknown で受け、typeof で確認してから使います。外部 API やファイルから来たデータを安全に取り込む、実務でそのまま使える型チェックの形です。

TypeScript