옵셔널 체이닝 ?. 을 사용하면 프로퍼티가 없는 중첩 객체에 에러 없이 안전하게 접근할 수 있다.

?. 은 앞의 평가 대상이 undefined나 null이면 평가를 멈추고 undefined를 반환한다.

옵셔널 체이닝은 존재하지 않아도 괜찮은 대상에만 사용해야 한다는 것에 유의해야 한다. 또한, ?. 은 선언이 완료된 변수를 대상으로만 동작한다.

let user = {};

alert( user?.address?.street); // undefined. 에러 노발생