[JS] `??` 와 `||` 연산자
2023. 7. 24. 11:13ㆍJS
JavaScript에서 ??와 ||는 둘 다 "또는"의 개념을 표현하는 연산자이지만, 그 작동 방식은 약간 다르다.
`??` 연산자는 "Nullish coalescing operator"라고 불립니다. 이 연산자는 첫 번째 피연산자가 null 또는 undefined일 경우에만 두 번째 피연산자를 반환합니다.
let value = null ?? "default string";
console.log(value); // "default string"
`||` 연산자는 "Logical OR operator"라고 불립니다. 이 연산자는 첫 번째 피연산자가 falsy값일 경우에만 두 번째 피연산자를 반환합니다. JavaScript에서 falsy값에는 false, 0, ''(빈 문자열), null, undefined, NaN 등이 포함됩니다.
let value = "" || "default string";
console.log(value); // "default string"
이 두 연산자의 주요 차이점은 ||가 모든 falsy값을 체크하고, ??는 오직 null과 undefined만을 체크한다는 점입니다. 따라서 false, 0, ''(빈 문자열), NaN 등의 값에 대해 ??와 ||는 다르게 동작합니다.
'JS' 카테고리의 다른 글
[JS] 다양한 연산자 (0) | 2023.08.04 |
---|---|
[JS] 스프레드 연산자 (0) | 2023.08.03 |
[JS] 웹 모바일에서 App 실행 (0) | 2021.11.01 |
[JS] IE8 및 Safari 에서 new Date() 시 NaN 오류 이슈 (0) | 2021.11.01 |
[JS] File API (0) | 2021.07.27 |