Dev Study
← 解説「any — 型チェックをやめる型」に戻る

サンプルコードで身につける: any — 型チェックをやめる型

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

1any には何でも代入できる

any 型の変数には文字列・数値・真偽値をどれでも代入でき、一切エラーになりません。「エラーが出ない = 型チェックが働いていない」という any の基本性質を確かめる例です。

TypeScript

2チェックなしで操作できてしまう

any の値にはどんなメソッド呼び出しを書いてもコンパイルが通ります。中身が文字列のうちは動きますが、数値に変わっても同じコードが書けてしまう、という危うさを示す例です。

TypeScript

3any は他の変数に入り込む

any の値は number 型の変数にもエラーなく代入できてしまい、型の保証が周囲に広がって崩れます。数値のつもりの計算が実行時には文字列連結になる、any の「伝染」の典型例です。

TypeScript

4JSON.parse の結果は any

実務で any に出会う代表例が JSON.parse の戻り値です。パース結果はどんなプロパティにアクセスしてもコンパイルが通り、存在しないプロパティの参照も素通りしてしまうことを確かめます。

TypeScript

5実行時エラーになって初めて気づく

any のコードは、間違っていても実行するまで壊れたことが分かりません。数値に対する文字列メソッドの呼び出しが実行時エラーになる様子を try で観察し、「新しいコードでは any を避ける」理由を体感します。

TypeScript