날짜: 2024-07-12
JS에서 ??
연산자는 “널 병합 연산자(Nullish Coalescing Operator)”라고 불립니다. 이 연산자는 ES2020에서 도입되었습니다.
??
연산자의 기능:
null
또는 undefined
일 때만 오른쪽 피연산자를 반환합니다.||
연산자와의 비교:
||
: 왼쪽 피연산자가 falsy(false
, 0
, ''
, null
, undefined
, NaN
)일 때 오른쪽 피연산자를 반환합니다.??
: 왼쪽 피연산자가 null
또는 undefined
일 때만 오른쪽 피연산자를 반환합니다.console.log(0 ?? 42); // 0
console.log(0 || 42); // 42
console.log('' ?? 42); // ''
console.log('' || 42); // 42
console.log(null ?? 42); // 42
console.log(null || 42); // 42
장단점:
??
연산자의 장점:
0
이나 빈 문자열(''
)과 같은 유효한 falsy 값을 그대로 사용하고 싶을 때 유용합니다.??
연산자의 단점:
||
연산자의 장점:
||
연산자의 단점:
0
이나 ''
와 같은 falsy 값도 기본값으로 대체되어 버립니다. 이는 때때로 의도치 않은 결과를 초래할 수 있습니다.결론적으로, 정확히 null
이나 undefined
만을 처리하고 싶다면 ??
를, 모든 falsy 값을 처리하고 싶다면 ||
를 사용하는 것이 적절합니다. 상황에 따라 적절한 연산자를 선택하는 것이 중요합니다.