IT-Q

型アサーション(as)を使うのは、どういう場面ですか。

自分の方が TypeScript より型を正確に知っているときに伝えるものです。値の変換も実行時の検査もしないので、間違っていても止まりません。外から来るデータに付けるのは危険です。

面接官が見ているのはas が「型を変換する」ものではないと分かっているか。

よくある答えと、面談でどう見られるか

  • 自分の方が TypeScript より型を正確に知っているときに、それを伝える
    公式の説明もそうです。実行時には何もしないので、間違っていても止まりません。
  • 値の型を変換するとき(文字列を数値にするなど)
    as は値を変えません。"1" as number のような明らかに無理な指定はエラーになりますし、変換は Number() などで行います。
  • 型エラーが消えないときの最終手段として気軽に使う
    消せますが、検査を止めているだけです。消したいエラーの原因を確かめる方が先です。
  • as を書くと実行時に型が確かめられる
    確かめられません。型の情報は実行前に消えます。

模範解答

TypeScript が推論できないが、自分は型を知っている、という場面で使います。たとえば document.getElementById の戻り値は HTMLElement | null ですが、自分では canvas だと分かっているときに as HTMLCanvasElement と書きます。

注意点は、as は実行時に何もしないことです。値を変換も検査もしません。間違っていても、その後で落ちるだけです。明らかに無理な組み合わせ(文字列を数値に、など)はエラーになりますが、as unknown as T と2段にすると何でも通ってしまいます。

外から来るデータに as を付けて型を付けた気になるのが、よくある事故です。本当に確かめたいなら、実行時に検査するコードを書きます。

対象: TypeScript 5.x〜7.0 照合した一次資料: 公式ドキュメント 照合: 2026-10-25 最終更新: 2026-10-25
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。