패스트캠퍼스

javaScript-Nullish 병합

용용it 2023. 4. 21. 21:09

Nullish 병합(Nullish Coalescing)은 자바스크립트의 문법 중 하나이다.

 

??를 사용하여

 

 a ?? b 를 평가하면

anull도 아니고 undefined도 아니면 a

그 외의 경우는 b를 나타낸다.

const n = 0

// OR 연산자를 사용한 경우
const num1 = n || 7
console.log(num1) // 7



// Nullish 병합 연산자를 사용한 경우
const num2 = n ?? 7
console.log(num2) // 0

console.log(null ?? 1) // 1
console.log(undefined ?? 2) // 2
console.log(null ?? undefined) // undefined
console.log(null ?? 1 ?? 2) // 1
console.log(false ?? 1 ?? 2) // false
console.log(0 ?? 1 ?? 2) // 0

|| (OR 연산자) 와

?? (nullish  연산자)는 

서로 비슷해보인다 하지만,

 

||첫 번째 truthy 값을 반환하고

??첫 번째 정의된 값을 반환한다는 것에 차이가 있다.

 

??는 변수에 값이 할당 되지 않았을 때 사용된다.

 

// weight가 null이나 undefined인 경우 60을 할당.
weight = weight ?? 60;