← inaro.devAI駆動開発 学習ツール
応用

型アサーション(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が生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。