NOTION 정리/Javascript
?? (null 병합 연산자)
dev_sr
2023. 11. 3. 16:11
?? 은 null 병합 연산자라고 함
피연산자 중 확정되어 있는 변수(null도 아니고 undefined도 아닌)를 찾을 수 있다
// 이 if문은
if(a ?? b)
//이 문장과 같다
(a !== null && a !== undefined) ? a : b
a가 null이 아니고 undefined 가 아니면 a, 아니면 b
&& , || 연산자와의 차이
&& 는 첫번째 false 인 값을 반환 (false 가 없으면 마지막 값)
|| 는 첫번째 true 인 값을 반환 (true 가 없으면 마지막 값)
?? 는 첫번째 정의된 값을 반환
console.log(0 && 10); // 0
console.log(0 || 10); // 10
console.log(0 ?? 10); // 0
대다수의 연산자보다 우선순위가 낮기 때문에 ??는 괄호와 쓰는 게 좋다
||, && 와 함께 사용하지는 못하지만 괄호와 쓰면 가능
console.log( ( 1&&2 ) ?? 3 ); //2
참고
https://velog.io/@seize/JavaScript-null-%EB%B3%91%ED%95%A9-%EC%97%B0%EC%82%B0%EC%9E%90
[JavaScript] - null 병합 연산자 '??'
null 병합 연산자(nullish coalescing operator) ??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 '확정되어 있는' 변수를 찾을 수 있다. a ?? b의 평가 결과는 다음과 같다. a가 null도 아니고 undefined도
velog.io