Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바스크립트
- typeScript
- useEffect
- 리액트 프로젝트
- 코딩테스트
- 파이썬 slice
- 내일배움캠프 프로젝트
- 파이썬 for
- tanstack query
- 파이썬 enumerate
- 타입스크립트 리액트
- REACT
- 타입스크립트 props
- 파이썬 반복문
- Next 팀 프로젝트
- 리액트 훅
- React Hooks
- 프로그래머스
- 파이썬 replace
- 리액트 공식문서
- 내배캠 프로젝트
- 리액트
- 파이썬 for in
- 내일배움캠프 최종 프로젝트
- 파이썬 딕셔너리
- 내일배움캠프
- 한글 공부 사이트
- useState
- JavaScript
- 타입스크립트
Archives
- Today
- Total
sohyeon kim
[JS] null 병합 연산자 '??' 본문
728x90
💡 ES11(ECMAScript2020)에서 도입된 null 병합 연산자
: 좌항의 피연산자가 null 또는 undefined 인 경우 우항의 피연산자를 반환,
좌항이 null 또는 undefined 가 아니라면 좌항의 피연산자를 반환
let left = null;
let right = "default string";
let result = left ?? right;
console.log(result); // "default string"
null 병합 연산자는 변수에 기본값을 설정할 때 유용!
'??' 가 도입되기 전엔 논리 연산자 '||' 를 사용한 단축 평가를 통해 변수에 기본값을 설정했다.
or 연산자를 사용한 단축 평가의 경우 좌항의 피연산자가 false 로 평가되는
Falsy 값 - false, undefined, null 0, -0, NaN, ' ' 이라면 우항의 피연산자를 반환한다.
만약 Falsy 값인 0 이나 ' ' 도 기본값으로서 유효하다면 예상치 못한 동작이 발생할 수 있다.
let left = "";
let right = "default string";
let result = left || right;
console.log(result); // "default string"
❗️ 하지만 null 병합 연산자는 좌항의 피연산자가 Falsy 값이라도
null 또는 undefined 가 아니라면 좌항의 피연산자를 그대로 반환한다!
let left = "";
let right = "default string";
let result = left || right;
console.log(result); // ""
728x90
반응형
'JavaScript' 카테고리의 다른 글
[JS] sort 배열 오름차순, 내림차순 정렬 & localeCompare 문자열 정렬 (0) | 2024.01.17 |
---|---|
[JS] array 배열 메소드 활용 : filter, reduce, find (0) | 2024.01.17 |
[JS] Closure 클로저, Lexical Environment 렉시컬 환경 (2) | 2024.01.05 |
[JS] class 클래스 사용법, get & set, Static 정적 메소드 (1) | 2024.01.04 |
[JS] Map 맵 : new Map(), map.set(), map.get() (1) | 2024.01.02 |