FrontEnd/JavaScript
값이 확정되어있는 피연산자를 찾는 법 = nullish 병합 연산자 '??'
CoderHan
2023. 1. 24. 05:53
반응형
nullish병합 연산자란 뭘까?
"nullish 병합 연산자(nullish coalescing operator) ??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 ‘확정되어있는’ 변수를 찾을 수 있습니다. " 라고 설명하고 있다.
여기서 확정되어 있는이란 null이나 undefined가 아니라는 뜻이다.
let firstName = null;
let secondName = null;
let nickName = "David";
console.log(firstName??secondName??nickName??"익명")
위 코드는 출력해보면
nickName인 "David"가 출력된다.
만약 nickName까지 undefined였다면 마지막에 있는 "익명"이 출력됐을 것이다.
nullish연산자는 ||(OR연산자)와 비슷한 것처럼 보이지만 매우 다른 차이를 가지고 있습니다.
let percent = 0;
console.log(percent||"Error") // Error
console.log(percent??"Error) // 0
OR연산자는 첫번째 truthy값을 반환하므로 0은 falsy값에 해당하기 때문에 Error을 출력합니다.
그러나 nullish연산자는 성질에 의해 undefined나 null값일 때만 우항에 있는 피연산자를 출력하므로 0를 출력합니다.
이러한 특징때문에 0을 할당받을 수 있는 변수에 대한 연산을 할 때는 ||보다 nullish를 사용하는 것이 적절합니다.
안전성 이슈로 인해 nullish연산자(??)는 &&나 ||와 함께 사용하지 못하므로 주의하세요!
더욱 자세한 설명은 아래 링크 글을 참조하시면 좋습니다.
반응형