본문 바로가기
JS/JavaScript 강의

36. Nullish Coalescing Operator (Null 병합 연산자)

by 박기린 2022. 11. 9.

안녕하세요. 박기린 입니다.

이전에 Short Circuiting(단락 회로 평가)에 대해 설명을 드리면서 Nullish Coalescing Operator에 대한 언급을 드렸습니다.

지금부터 이게 무엇인지에 대해 알아보겠습니다.

 

Nullish Coalescing Operator

Nullish Coalescing Operator(Null 병합 연산자)는 ES2020에 도입된 Operator 입니다.

'??' - 물음표 두 개를 붙여서 사용합니다.

 

restaurant.numGuests = 0;
const guests = restaurant.numGuests || 10;
console.log(guests); // 10

Short Circuiting(단락 회로 평가)의 설명에서, OR 연산자의 경우 게스트의 수가 실제로 0임에도 불구하고 '0이 falsy value'라는 이유로 10을 출력한다는 것이 문제라고 말씀드렸습니다.

Nullish Coalescing Operator는 이 문제에 대한 해결책이 되어줍니다.

 

 

 


Nullish : null 과 undefined.

falsy value : [null, undefined, 0, ''(빈 String)]일 경우에 false로 인식되는 value를 말합니다.

여기서 0과 ''를 제외하면 Nullish value가 됩니다.

 

따라서, Nullish Coalescing Operator(??)는 0과 ''를 false에서 제외하고 Short Circuiting evalueation(단락 회로 평가)를 실행합니다.

restaurant.numGuests = 0;
const guestCorrect = restaurant.numGuests ?? 10;
console.log(guestCorrect); // 0

이를 통해 OR 연산자의 문제점을 보완할 수 있습니다.

반응형