Giting.
낮의 Giting

메뉴판 › 타입스크립트 에러 사전 › undefined·null일 수 있음 › 느낌표(!)를 붙이라고 해서 붙였는데 찜찜해요

error TS2531: Object is possibly 'null'.

전

const el = document.querySelector('.x')!;
el.textContent = 'hi';  // 없으면 런타임 터짐

후

const el = document.querySelector('.x');
if (el) el.textContent = 'hi';
왜 이렇게 되나
  • null 가능 값에 ! 를 붙이면 에러는 사라지지만 실제 null이면 런타임에 터진다
됐는지 보는 법

! 가 남았다면 왜 안전한지 설명이 있고, 아니면 가드로 바뀌었으면 성공.

같은 묶음 · undefined·null일 수 있음