728x90
반응형

'??' 널 병합 연산자

nullish 병합 연산자는  짧은 문법으로 여러 피연산자 중 그 값이 ‘확정되어있는’ 변수를 찾을 수 있음

 

예를 들어 a의 값이 없으면 b의 결과를 찾는 코드를 작성해보자

a가 null 혹은 undefined가 아니면 a

그 외의 경우는 b

// nullish 병합 연산자
a ?? b

// 삼항 연산자
(a !== null && a !== undefined) ? a : b;

위와 같이 삼항 연산자로 표현하는 것보다 훨씬 간단하게 표현이 가능함

 


'??'와 '||'의 차이

nullish 병합 연산자는 OR 연산자 ||와 상당히 유사함

실제로 위의 예시를 ||로 바꿔 표현해도 동일한 결과가 나옴

 

두 연산자의 차이점?

||는 첫 번째 truthy 값을 반환

??는 첫 번째 정의된 값을 반환

null, undefined, 0을 구분지을 때 유의미함

 

예시

let height = 0;

alert(height || 100); // 100
alert(height ?? 100); // 0

0이 할당될 수 있는지에 따라 잘 선택하여야 함

반응형
복사했습니다!