← TypeScript コース
7. unknown — 型がまだ分からない値
unknown は「型がまだ分からない」ことを表す型です。any と同じくどんな値でも入れられますが、決定的な違いとして、型を確かめるまで一切の操作ができません。
JSON のパース結果やユーザー入力など、外部から来るデータは中身が保証できません。そうした値を unknown で受けておけば、if 文で typeof などを使って型を確認するまでコンパイラが操作を禁止してくれるので、未確認のまま使う事故を防げます。
「型が不明なものは unknown で受けて、確認してから使う」が安全な作法です。コンパイラが「確認してから使え」と強制してくれること自体が、any にはない unknown の価値です。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript