広告スペース(バナー)
レッスン 17 / 20

any型とunknown型

このレッスンでは、型が分からない値を扱うためのany型とunknown型の違いを学びます。「TypeScript any unknown 違い」で調べている方向けです。

any型は「どんな型でも受け入れる、TypeScriptの型チェックを実質オフにする」型です。一方unknown型も同じくどんな値でも受け入れますが、実際に使う前に必ず型を確認しないとエラーになる、より安全な型です。

サンプルコードでは、外部から受け取ったと想定した値をunknown型で受け取り、typeofで文字列かどうかを確認してから.toUpperCase()を呼び出しています。

初心者がよくつまずくのが、「型が分からないから、とりあえずany型にしておこう」と安易に使ってしまうことです。anyを多用すると、TypeScriptを使うメリットである型チェックが失われてしまいます。迷ったらunknownを使い、必要な分だけ型を絞り込むのが安全です。

実際の開発現場では、外部APIのレスポンスやJSON.parseの結果など、「実行するまで型が確定しないデータ」をunknownで受け取り、検証してから使う、という書き方が推奨されています。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではTypeScriptを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
型が分からない値でも安全に処理を分けられるようになります。
広告スペース(バナー)
広告スペース(記事内)