옵셔널 체이닝(optional chaining) ?.
을 사용하면 property가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있다.
예)
let user = {}; // 주소 정보가 없는 사용자
alert( user && user.address && user.address.street ); // undefined, 에러가 발생하지 않습니다.
?.
은 ?.
앞에 검사 대상이 undefined나 null 이면 검사를 멈추고 undefined를 반환한다.
예)
let user = {}; // 주소 정보가 없는 사용자
alert( user?.address?.street ); // undefined, 에러가 발생하지 않습니다.