JavaScript/JS
null 병합 연산자
앙꼬오빠
2021. 7. 9. 19:04
- null 병합 연산자: ES11(ECMAScript2020)에서 도입된 null 병합 연산자 ??는 좌항의 피연산자가 null 또는 undefined인 경우 우항의 피연산자를 반환하고, 그렇지 않으면 좌항의 피연산자를 반환한다. null 병합 연산자 ??는 변수에 기본값을 설정할 때 유용하다.
// Falsy 값인 0이나 ''도 기본값으로서 유효하다면 예기치 않은 동작이 발생할 수 있다.
let foo = '' || 'default string';
// 'default string'
console.log(foo);
// 하지만 null 병합 연산자 ??는 좌항의 피연산자가 false로 평가되는 Falsy(false, undefined, null, 0, -0, NaN, '')이라도
// null 또는 undefined가 아니면 좌항의 피연산자를 그대로 반환한다.
// 좌항의 피연산자가 Falsy 값이라도 null 또는 undefined가 아니면 좌항의 피연산자를 반환환다.
let foo = '' ?? 'default string';
console.log(foo); // ''