본문 바로가기
JS

자바스크립트 연산자와 옵셔널 체이닝, optional chaining

by memory-log 2021. 1. 7.

** 지수 연산자

예전에 Math.Pow 를 사용해야 했던것을 **로 사용 가능하다.

 

?. 옵셔널 체이닝 연산자

좌항의 피연산자가 null 이나 undefined 일 경우에 undefined를 반환한다.

그렇지 않으면 우항의 프로퍼티 참조를 이어간다.

 

객체를 가리키기를 기대하는 변수가 널이나 언디파인드인지 확인하여 프로퍼티를 참조할 때 유용한 연산자이다.

?. 사용 이전에는 논리 연산자인 &&를 사용해 확인했었다.

 

?? null 병합 연산자

연산자 '??' 는 좌항의 피연산자가 null 이나 undefined인 경우에 우항의 피연산자를 반환하고 그렇지 않을 경우에 좌항의 피연산자를 반환한다.

 

변수에 기본값을 설정할 때 유용한 연산자이다.

예전에는 논리 연산자인 || 를 사용해 좌항의 피연산자가 false로 평가되는 Falsy 값 일 경우에 우항의 피연산자를 반환했다. 만약 폴시값인 0이나 빈값인 '' 도 기본값으로 유효하다면 의도하지 않은 사이드이펙트를 발생시킬 수 있다. 

 

 

?? 연산자를 사용할 경우 좌항의 피연산자가 Falsy 값 (null, undefined, '', NaN, -0, 0, false) 라도

null, undefined 이 아니라면 좌항의 피연산자를 그대로 반환 가능하다.

 

댓글