프론트엔드 첫걸음

?? null 병합 연산자 본문

개발 공부/Javascript

?? null 병합 연산자

차정 2022. 3. 16. 21:51

연산자 ?? 는 검색이 잘 되지 않는다.

"자바스크립트 ?? "

"자바스크립트 연산자 ??" 

어떻게 검색해도 삼항연산자 할때 '?' 만 나오고 ..

 

function head(arr) {
	return arr[0] ?? ''
}

이런 코드에서 ??는 바로 null 병합 연산자이다.

이제 키워드를 알았으니 검색할 수 있다.

 

https://ko.javascript.info/nullish-coalescing-operator

 

nullish 병합 연산자 '??'

 

ko.javascript.info

 

[모던자바스크립트 딥다이브 9.4.3 p.123] 

ES11에서 도입된 null 병합 연산자 ??는 좌항의 피연산자가 null 또는 undefined 인 경우 우항의 피연산자를 반환하고, 그렇지 않으면 좌항의 피연산자를 반환한다. null 병합 연산자는 변수에 기본값을 설정할 때 유용하다.

 

?? 가 도입되기 전에는 논리연산자 ||를  사용한 단축평가를 통해 변수에 기본값을 설정했다. 그러나 falsy인 0 또는 '' 도 기본값으로서 유효하다면 예기치 않은 동작이 발생할 수 있다.

 

??는 좌항이 0 또는 '' 인 경우 기본값으로 설정한 우항의 피연산자를 반환하지 않는다.

|| 랑 비슷한데 ''랑 0을 truthy취급하는..