널 병합 연산자(??)

Hunter Joe·2024년 9월 13일
post-thumbnail

📌 ?? (Nullish Coalescing Operator)

??연산자는 피연산자가 null값 또는 undefined일 때만 우측의 값을 반환하고, 그렇지 않으면 좌측의 값을 반환

Evaluation 값이 null/undefined 이면 우측 값 반환

Ex

const userName = null; 
const defaultName = "Guest";

//userName이 null 이나 undefined이면 "Guest"가 할당 
const nameToShow = userName ?? defaultName;

console.log(nameToShow) // "Guest"

📌 || vs ??

||연산자와 비슷해 보일 수 있지만, 두 연산자의 동작 방식은 다르다 .

  • || : 좌측의 값이 fasly(false, 0, NaN, "", null, undefined)한 경우 우측 값을 반환한다.
  • ?? : 좌측의 값이 null 또는 undefined일 때만 우측 값을 반환
const num = 0; 

const result1 = num || 10; 
const result2 = num ?? 10;

console.log(result1); // 10
console.log(result2); // 0

NOTE

??을 사용하면 null 또는 undefined일 때만 대체 값을 제공하고, 다른 값들에 대해서는 그대로 유지할 수 있어 더 직관적이고 안전하게 값을 처리할 수 있다.

profile
Improvise, Adapt, Overcome

0개의 댓글