IT-Q

コードに as が大量に使われていました。何が問題ですか。

as は型を断言するだけで、実行時に何も確かめません。間違っていてもその場では何も起きず、ずっと先で落ちます。とくに API の応答など外から来る値に付けている箇所が危険です。

面接官が見ているのはas が検査を緩めるものだと理解しているか。

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

  • as は TypeScript の検査を止めて断言するだけなので、間違っていても実行時まで分からない
    その通りです。as が多いところは、型を信用できない場所の一覧でもあります。
  • as は実行時に型を変換するので、処理が遅くなる
    as は実行時に何もしません。変換も検査もしないことが問題です。
  • 問題は無い。型を明示しているので、むしろ安全
    明示ではなく断言です。TypeScript が確かめていたことを、確かめないようにしています。
  • as を使うとビルドが遅くなる
    ビルドの速さには関係ありません。問題は安全性です。

模範解答

as は「この値はこの型だ」と TypeScript に断言する書き方で、実行時には何もしません。値を変換も検査もしないので、断言が間違っていても、その場では何も起きず、ずっと先で落ちます。

とくに危ないのは、外から来る値に as を付けている箇所です。API の応答に as User と書くと、確かめないまま User として扱われます。

直し方は、確かめられるものは確かめるコード(型ガード)に置き換え、本当に TypeScript が追えないだけの箇所に限って as を残すことです。as が多いところは、型の設計か、外との境界の検査に問題があることが多いです。

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

ここからどう深掘りされるか

この問いに答えられた場合、面談は次の質問に進みます。