티스토리 뷰
🟨 JavaScript/연산자
[JavaScript] Null, Undefined 핸들링: Nullish coalescing operator (??)
10000COW 2022. 12. 25. 00:45728x90
Nullish coalescing operator (??)
Nullish: null 또는 undefined
Nullish coalescing operator는 논리 연산자로, ??를 사용한다.
??의 왼쪽 피연산자가 null 또는 undefined인 경우 오른쪽 피연산자를 반환한다.
반면, ??의 왼쪽 피연산자가 null과 undefined이 아닌 경우 왼쪽 피연산자를 반환한다.
아래 예시 코드를 보면 이해가 쉽다.
1️⃣ 왼쪽 피연산자가 null 또는 undefined인 경우
const apple = null ?? '🍎';
console.log(apple);
// expected output: "🍎"
오른쪽 피연산자 🍎을 반환한다.
2️⃣ 왼쪽 피연산자가 null과 undefined이 아닌 경우
const num = 0 ?? 42;
console.log(num);
// expected output: 0
왼쪽 피연산자 0을 반환한다. (0은 nullish 값이 아니기 때문이다.)
2️⃣번의 경우를 보면 nullish coalescing operator 사용하는 의의를 알 수 있다.
보통 사용되는 ||(OR) 연산자는 falshy 값인 모든 경우에 오른쪽 피연산자를 반환하기 때문에
0 값의 경우 null 또는 undefined가 아님에도 falshy값이기 때문에 원치않게 오른쪽 피연산자가 반환될 수 있기 때문이다.
const num = 0 || 42;
console.log(num);
// expected output: 42
728x90
'🟨 JavaScript > 연산자' 카테고리의 다른 글
[JavaScript] Null, Undefined 핸들링: Optional Chaining 연산자 (0) | 2022.12.25 |
---|---|
[JavaScript] 조건문을 깔끔하게! 삼항 연산자(Ternary Operator) (0) | 2022.12.20 |
[JavaScript] + 연산자 주의점 (1) | 2022.12.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- DB
- 데이터베이스
- 그래프
- useState
- git
- 에러
- CSS
- BOJ
- JavaScript
- 자바스크립트
- 자료구조
- 파이썬
- React Query
- 브라우저
- Context API
- zustand
- DOM
- Component
- github
- 리액트
- error
- mdn
- state
- react
- 알고리즘
- 함수
- Browser
- leetcode
- Python
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함
250x250