반응형
대표 예시
const foo = null ?? 'default string';
console.log(foo);
// 출력 결과 --> "default string"
const baz = 0 ?? 42;
console.log(baz);
// 출력 결과 --> 0
설명
널 병합 연산자( ?? ) 는 왼쪽 표현식이 null, undefined일 때 오른쪽 표현식 결과를 반환합니다.
보통 null, undefined 처리 시 논리연산자 OR( || )를 사용하는데요,
논리연산자 OR은 falsy한 값, 즉 0, '', NaN도 유효하지 않은 값으로 처리합니다.
null과 undefined일 때만 오른쪽 표현식 결과를 반환하고 싶다면 널 병합 연산자( ?? ) 를 사용해 보세요.
널 병합 연산자와 논리 연산자 OR 비교 예시
let test1 = 0 || 42;
console.log(test1)
// 0을 유효하지 않다고 보아 42 출력
let test2 = 0 ?? 42;
console.log(test2)
// 0을 유효하다고 보아 0 출력
참조
mdn web docs
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
반응형
'Programming Language > Javascript' 카테고리의 다른 글
[Javascript] 문자열 메소드 / 문자열을 더하고 싶을 때 / 날짜 문자열 변경 시(ex. 1월 -> 01월) / padStart() (0) | 2023.09.13 |
---|---|
[Javascript/정규표현식] 텍스트에서 줄바꿈(엔터) 제거하기 (0) | 2023.02.20 |
[Javascript] 배열 요소 중복을 없애고 싶을땐? Set 객체를 사용해보자 (0) | 2023.02.08 |
[Javascript] 템플릿 리터럴 사용법 기초, 달러(${})와 벡틱(`) (0) | 2023.02.08 |
[Javascript] Json 생성 시 key 값에 변수를 담고 싶을 때는? (0) | 2023.01.20 |