
??연산자는 피연산자가 null값 또는 undefined일 때만 우측의 값을 반환하고, 그렇지 않으면 좌측의 값을 반환
Evaluation 값이 null/undefined 이면 우측 값 반환
const userName = null;
const defaultName = "Guest";
//userName이 null 이나 undefined이면 "Guest"가 할당
const nameToShow = userName ?? defaultName;
console.log(nameToShow) // "Guest"
||연산자와 비슷해 보일 수 있지만, 두 연산자의 동작 방식은 다르다 .
|| : 좌측의 값이 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일 때만 대체 값을 제공하고, 다른 값들에 대해서는 그대로 유지할 수 있어 더 직관적이고 안전하게 값을 처리할 수 있다.