?? 은 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
'NOTION 정리 > Javascript' 카테고리의 다른 글
휴대폰 번호 입력 시 자동 하이픈 (0) | 2023.11.03 |
---|---|
정수일 때 소수점 떼고 실수일 땐 소수점 둘째 자리까지 표시하기 (2) | 2023.11.03 |
this (0) | 2023.11.03 |
IOS 사파리에서 Date가 NaN으로 나올 때 (0) | 2023.11.03 |
뒤로 가기, 앞으로 가기, n번 이동(History Object) (2) | 2023.11.03 |