Dev Study
← 解説「unknown — 型がまだ分からない値」に戻る

サンプルコードで身につける: unknown — 型がまだ分からない値

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

1確認するまで操作できない

unknown の値は、typeof で型を確認するまで一切のメソッドを呼べません。any との決定的な違いである「コンパイラが確認を強制してくれる」性質を、最小の形で確かめる例です。

TypeScript

2数値かどうかを確認してから計算

typeof で number と確認できたブロックの中では、toFixed や四則演算が使えるようになります。確認できなかった場合の処理も else に書く、unknown の基本の型に沿った例です。

TypeScript

3JSON.parse の結果を unknown で受ける

any のまま使いがちな JSON.parse の結果を、あえて unknown の変数で受ける実務の作法です。確認せずに計算しようとするとコンパイルエラーになるので、未確認のまま使う事故を型が防いでくれます。

TypeScript

4複数の型を順番に確認する

外部から来る値が何種類かあり得るとき、else if で typeof を順に確かめていく形です。確認できた分岐の中だけそれぞれの型の操作が解禁される、unknown 処理の定番パターンです。

TypeScript

5配列かどうかを確認する

typeof では配列を区別できないため、配列の確認には Array.isArray を使います。API から届いた一覧データを安全に扱うときの定番で、確認に使う道具は typeof だけではないことを示す例です。

TypeScript