옵셔널 체이닝

개발일지·2021년 7월 14일
0

ECMAScript

목록 보기
3/8

옵셔널 체이닝은 페이지에 존재하지 않는 요소에 접근해 요소의 정보를 가져올때 발생하는 문제를 해결한다.

let user = {};

alert(user.address.street); // TypeError: Cannot read property 'street' of undefined

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

let user = null;

alert( user?.address ); // undefined
alert( user?.address.street ); // undefined

Short-circuit

?.는 왼쪽 평가대상에 값이 없으면 그 즉시 평가를 멈춘다. 그렇게 때문에 오른쪽에 있는 부가 동작은 더이상 일어나지 않게된다.

let user = null; 
let x = 0;

user?.sayHi(x++); // 아무 일도 안일어난다.

alert(x); // 0, x는 증가하지 않는다.

0개의 댓글