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