型アサーション(as)の危険性
なぜ学ぶか: asは「TypeScriptのチェックを黙らせて、私の言う型だと思い込ませる」機能です。AIは型で詰まるとasで逃げることがあり、これが実行時エラーの温床になります。まず「何が起きるか」を例で見てください。
まずはこの例を見てみましょう
type User = { name: string; age: number }; // 外から来たデータ(本当は age が無い!)const raw = JSON.parse('{"name":"Ada"}'); const user = raw as User; // as = 「User だと思って」と言い張るだけ user.age; // 型の上では number。でも実際は undefined!
asは検査をしません。「型の上では正しいのに、実際は違う」というズレを作ってしまいます。
as=「この型だと思って」という上書き
データは何も変わらず、チェックだけが黙ります。変換でも検査でもありません。
as anyは完全な放棄
anyになった値への操作はすべてノーチェック。打ち間違いも素通りして、実行時に落ちます。
「なぜasが必要だった?」と問う
asは答えではなく症状です。外から来たデータなら、次のトピックでやる「実行時の検査」が本筋です。
公式ドキュメント
ステップ 1 / 3
※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。