nullish coalescing operator

hannah·2023년 10월 13일
0

JavaScript

목록 보기
112/121

nullish 병합 연산자

??를 사용하여 여러 피연산자 중 그 값이 ‘확정되어 있는’ 변수를 찾을 수 있다.

a ?? b // a가 null도 아니고 undefined도 아니면 a, 그 외의 경우는 b

사용 예시1

let first = null;
let last = undefined;
let middle = "바나나";

// null이나 undefined가 아닌 첫 번째 피연산자
console.log(first ?? last ?? middle ?? "second"); // 바나나

사용 예시2

const a = { duration: 50 };

a.duration ??= 10;
console.log(a.duration);	// 50

a.speed ??= 25;
console.log(a.speed);		// 25




function config(options) {
  options.duration ??= 100;
  options.speed ??= 25;
  return options;
}

config({ duration: 125 }); // { duration: 125, speed: 25 }
config({}); // { duration: 100, speed: 25 }



  • ||??의 차이

    ||첫 번째 truthy 값을 반환한다.
    ??첫 번째 정의된(defined) 값을 반환한다.

null과 undefined, 숫자 0을 구분 지어 다뤄야 할 때 이 차이점은 매우 중요한 역할을 한다.

let price = 0;

console.log(price || 100); // 100
console.log(price ?? 100); // 0

0개의 댓글