
?.대괄호 혹은 점 표기법의 대상이 null 혹은 undefined 인 경우, 에러 대신 undefined를 반환한다.
자바스크립트는 에러가 발생하면 에러가 발생한 뒤 코드가 모두 실행되지 않는데, ?. 선택적 체이닝을 활용하면 에러를 undefined(false) 로 만들어 에러 뒤 코드를 실행할 수 있다.
console.log(null?.abc); // undefined
console.log(undefined?.abc); // undefined
const el = document.querySelector("h1");
console.log(el?.textContent); // undefined
// const numbers = [1, 2, 3]
const numbers = null;
console.log(numbers?.[0]); // undefined
// const user = {
// name: 'Neo',
// age: 22
// }
const user = null;
console.log(user?.name); // undefined
따라하기