더북(TheBook)

옵셔널 체이닝 연산자는 null이나 undefined의 속성을 조회하는 경우 에러가 발생하는 것을 막습니다.

const a = {}
a.b; // a가 객체이므로 문제없음

const c = null;
try {
  c.d;
} catch (e) {
  console.error(e); // TypeError: Cannot read properties of null (reading 'd')
}
c?.d; // 문제없음

try {
  c.f();
} catch (e) {
  console.error(e); // TypeError: Cannot read properties of null (reading 'f')
}
c?.f(); // 문제없음

try {
  c[0];
} catch (e) {
  console.error(e); // TypeError: Cannot read properties of null (reading '0')
}
c?.[0]; // 문제없음

위 코드처럼 일반적인 속성뿐만 아니라 함수 호출이나 배열 요소 접근에 대해서도 에러가 발생하는 것을 방지할 수 있습니다. c?.dc?.f(), c?.[0]의 값은 undefined가 된다는 것도 알아두세요.

옵셔널 체이닝 연산자는 자바스크립트 프로그래밍을 할 때 발생하는 TypeError: Cannot read properties of undefined 또는 null 에러의 발생 빈도를 획기적으로 낮출 수 있기에 자주 사용합니다.

이외에도 많은 문법이 추가되었고 앞으로도 추가될 예정입니다. 하지만 이 책에서는 위에서 설명한 내용 정도만 자주 사용합니다. 다른 변경 사항이 더 궁금한 분들을 위해 2.3절에 새로운 문법을 배울 수 있는 사이트의 링크를 적어놓았습니다.

이제 프런트엔드에서 사용되는 자바스크립트 코드를 알아보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.