개발 공부/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취급하는..