ryota21silvaの技術ブログ

Funna(ふんな)の技術ブログ

エンジニア1年生による備忘録。未来の自分が救われることを信じて

【TypeScript】Non-null assertion operator(変数の末尾に!)

  • 「この変数はnullやundefinedeではないよ〜」とコンパイラに教えてくれる。つまり、 <T | undefined | null> 型の変数xがあったとして、x! って書いたらnull および undefinedを除外した<T>を生成してくれる。
  • 実行時(JSに変換された後)にこのコードは削除される。
    • !オペレーターはあくまで型チェックをスキップするだけで、実行時に null などが入る可能性は依然としてあることに注意。
      • なのでjestを書く場合などは expect(...).not.tuBeNull() などでチェックしてあげる必要がある。

www.typescriptlang.org