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); // ''