옵셔널 체이닝 '?.'

옵셔널 체이닝(optional chaining) ?. 을 사용하면 property가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있다.

1. 옵셔널 체이닝 등장 전


예)

let user = {}; // 주소 정보가 없는 사용자

alert( user && user.address && user.address.street ); // undefined, 에러가 발생하지 않습니다.

2. 옵셔널 체이닝 등장 후


?.?. 앞에 검사 대상이 undefined나 null 이면 검사를 멈추고 undefined를 반환한다.

예)

let user = {}; // 주소 정보가 없는 사용자

alert( user?.address?.street ); // undefined, 에러가 발생하지 않습니다.