본문 바로가기

Web/JavaScript

[nullish] 병합 연산자 '??'

728x90

 

 

a ?? b

// a 가 null 이거나 undefined 가 아니면 a
// 그게 아니면 b
let height = 0;

alert(height || 100); // 100
alert(height ?? 100); // 0

 

 

let x = 1 && 2 ?? 3; // SyntaxError: Unexpected token '??'

let x = (1 && 2) ?? 3; // 괄호를 사용할 것

alert(x); // 2

 

 

 

  • ??의 연산자 우선순위는 대다수의 연산자보다 낮고 ?와 = 보다는 높다.
  • 괄호 없이 ??를 ||나 &&와 함께 사용하지 말 것.
728x90