안녕하세요. 박기린 입니다.
이전에 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 연산자의 문제점을 보완할 수 있습니다.
반응형
'JS > JavaScript 강의' 카테고리의 다른 글
38. for-of로 Array의 Element에 접근하기 (0) | 2022.11.14 |
---|---|
37. Logical Assignment Operators (논리 할당 연산자) (0) | 2022.11.10 |
35. Short Circuiting (단락 회로 평가) (0) | 2022.11.08 |
34. Rest Parameters (나머지 매개변수) (0) | 2022.11.07 |
33. Spread Operator (전개 연산자) (0) | 2022.11.03 |