Programming/Javascript

[Javascript] Nullish coalescing 연산자

Bam_t 2021. 11. 12. 15:45
728x90

1. 널 병합 연산자 Nullish Coalescing Operator

널 병합 연산자는 ES6 이후로 추가된 새로운 연산자입니다. 번역된 이름으로만 보면 뭔가 굉장히 복잡하고 어려워 보이는 이름인데 실제로는 그렇지 않습니다. Nullish Coalescing Operator는 다음과 같이 ??로 작성합니다.

피연산자 ?? 피연산자

 

이렇게 작성했을때 ??왼쪽의 피연산자가 'null' 혹은 'undefined'라면 오른쪽의 피연산자를 반환하는 역할을 합니다. 그래서 아래와 같은 코드를 작성했을때 오른쪽의 문자열을 반환하게 됩니다.

const nullish = null ?? 'Nullish Coalescing Operator';
console.log(nullish);

 

2. ||와의 차이

배우고 보니 예전에 이와 비슷한 역할을 하는 연산자가 있었습니다. 바로 OR연산자인 '||' 인데요. Nullish Coalescing Operator과 OR연산자는 모두 왼쪽이 특정 값을 가질 때, 오른쪽을 반환한다는 점은 공통점으로 갖습니다. 하지만 큰 차이점은 Nullish Coalescing Operator는 오직 'null'과 'undefined'만을, OR연산자는 false값인 'null'과 'undefined'를 포함한 '', 0 등까지 왼쪽 피연산자로 받아들일 수 있다는 점이 큰 차이점 입니다. 따라서 각 연산자를 본인이 원하는 값을 처리할 순간에 적재적소에 사용하는 것이 중요합니다.


참조

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator

 

Nullish coalescing operator - JavaScript | MDN

널 병합 연산자 (??) 는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.

developer.mozilla.org

728x90