728x90
?? 라는 연산자가 있었다! (마주친적이 거의 없어서 몰랐던..)
??는 병합연산자, nulllish 라고 불리우고 여러 피연산자 중에서 확정되어 있는 변수를 찾을 수 있다
a ?? b
다음과 같이 있을 때 a가 null도 아니고 undefined도 아니면 a, 그 외의 경우는 b이다
(a !== null && a !== undefined) ? a : b;
삼항연산자로 표현하자면 위 코드와 같은 뜻이다
?? 과 || 의 차이
스쳐가듯 보면 or 연산자와 굉장히 유사해보인다. 그러나 이 둘은 다른 연산자다
- ||는 첫번째 truthy 값을 반환
- ??는 첫번째 정의된 값을 반환
let a = 0;
console.log(a || 100); // a는 falsy로 판단되어 100
console.log(a ?? 100); // a는 null이나 undefined 아니여서 0
추가로,
- ?? 는 우선순위가 낮은편이므로 괄호랑 같이 쓰는것이 좋을듯싶다
- 안정성 이슈 때문에 || 와 &&랑 같이 사용하지 못한다
728x90
'Frontend > JavaScript' 카테고리의 다른 글
[js] Ajax : fetch와 axios를 더한 (0) | 2024.04.29 |
---|---|
[js] label : 중첩 반복문을 한번에 빠져나오고 싶을 때 (0) | 2024.04.16 |
[js] const는 재할당이 안되는데 객체와 배열은 왜 바뀌는것인가 (1) | 2024.04.12 |
[js] + 를 사용하여 숫자형으로 변환하는 방법 (0) | 2024.04.07 |
[js] ==와 ===의 차이점과 비교연산자 (1) | 2024.04.07 |