728x90
300x250
?? 병합 연산자는 왼쪽 피연산자가 null이나 undefined일 경우 오른쪽 피 연산자를 반환한다.
null이나 undefined이 아닐 경우에는 왼쪽 피 연산자를 리턴한다.
?? 연산자를 사용하면 아래와 같이 간단하게 표현할 수 있다.
x = a ?? b
만약 ??연산자를 사용하지 않는다면
아래와 같이 길어진다.
x = (a !== null && a !== undefined) ? a : b;
let name = null;
let text = "missing";
let result = name ?? text;
왼쪽에 name이 null이기 때문에 오른쪽 missing이 호출 된다.
or(||) 연산자와 차이점
const count = 0;
const text = "";
const qty = count || 42;
const message = text || "hi!";
console.log(qty); // 42
console.log(message); // "hi!"
or 연산자는 왼쪽 피연산자가 null, undefined뿐만 아니라 거짓 값(0, '', NaN, false 등)일 경우 에도 오른쪽 피연산자를 반환한다.
?? 연산자는 && or || 연산자와 직접적으로 같이 사용할 수 없다.
null || undefined ?? "foo"; // raises a SyntaxError
true || undefined ?? "foo"; // raises a SyntaxError
같이 사용할 경우 구문 오류가 발생한다.
대신 괄호를 묶어서 명시적 우선 순위를 나타낼수 있다.
(null || undefined) ?? "foo"; // returns "foo"
2020년 3월부터 모든 브라우저에서 지원된다.
참고 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
https://www.w3schools.com/js/js_comparisons.asp
728x90
반응형
'javaScript > JS Tutorial' 카테고리의 다른 글
[javaScript]Switch문 요일 한글로 변경하기 (0) | 2022.12.03 |
---|---|
[javaScript]옵셔널 체이닝 연산자 ?. (1) | 2022.12.02 |
[javaScript]다른 유형 비교 (0) | 2022.11.30 |
[javaScript]1-100 랜덤값 구하기 (0) | 2022.11.29 |
[javaScript] Math.sqrt() 제곱근 (0) | 2022.11.28 |
댓글