패스트캠퍼스
javaScript-Nullish 병합
용용it
2023. 4. 21. 21:09
Nullish 병합(Nullish Coalescing)은 자바스크립트의 문법 중 하나이다.
??를 사용하여
a ?? b 를 평가하면
a가 null도 아니고 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;