型アサーション(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
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。