🟨 JavaScript/연산자
[JavaScript] Null, Undefined 핸들링: Nullish coalescing operator (??)
10000COW
2022. 12. 25. 00:45
728x90
Nullish coalescing operator (??)
Nullish: null 또는 undefined
Nullish coalescing operator는 논리 연산자로, ??를 사용한다.
??의 왼쪽 피연산자가 null 또는 undefined인 경우 오른쪽 피연산자를 반환한다.
반면, ??의 왼쪽 피연산자가 null과 undefined이 아닌 경우 왼쪽 피연산자를 반환한다.
아래 예시 코드를 보면 이해가 쉽다.
1️⃣ 왼쪽 피연산자가 null 또는 undefined인 경우
const apple = null ?? '🍎';
console.log(apple);
// expected output: "🍎"
오른쪽 피연산자 🍎을 반환한다.
2️⃣ 왼쪽 피연산자가 null과 undefined이 아닌 경우
const num = 0 ?? 42;
console.log(num);
// expected output: 0
왼쪽 피연산자 0을 반환한다. (0은 nullish 값이 아니기 때문이다.)
2️⃣번의 경우를 보면 nullish coalescing operator 사용하는 의의를 알 수 있다.
보통 사용되는 ||(OR) 연산자는 falshy 값인 모든 경우에 오른쪽 피연산자를 반환하기 때문에
0 값의 경우 null 또는 undefined가 아님에도 falshy값이기 때문에 원치않게 오른쪽 피연산자가 반환될 수 있기 때문이다.
const num = 0 || 42;
console.log(num);
// expected output: 42
728x90