티스토리 뷰

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함
250x250