본문 바로가기

JavaScript

nullish coalescing operator ( nullish 병합 연산자 : ?? )

nullish 병합 연산자 ?? 를 사용하면 조건식을 간단하게 처리할 수 있다. 

a ?? b

의 경우 

 

a가 null이 아니고 undefined도 아니면 a 값을 return

그 외의 경우에는 b 값을 return 한다. 

 

x = (a !== null && a !== undefined) ? a : b

 이 코드를 ?? 연산자를 사용해서 간단하게 처리가 가능하다. 

 

|| 와 차이점 

|| 연산자의 경우에도 비슷한 처리가 가능하다.

a ?? b

마찬가지로 a값이 있다면 a를, 없다면 b를 return 해준다. 

 

그럼 차이점은 무엇일까? 

let height = 0; 

height = height || 100 // 100
height = height ?? 100 // 0

||의 경우 0도 false에 해당하지만 ??의 경우 null 또는 undefined가 아니기 때문에 자기 자신을 return 한다. 

0이 할당될 수 있는 곳에는 || 보단 ?? 가 더 정확하게 처리가 가능하다. 

반응형