반응형
ES2020에서 정의되었다. ??는 nullish coalescing 연산자라고 부른다.
??의 왼쪽 피연산자가 null이 아니고 undefined도 아니면 해당 값을 그대로 반환하고, 아니면 오른쪽에 있는 피연산자를 반환한다.
a ?? b // 아래와 같음
(a !== null && a !== undefined) ? a : b
아래 코드 처럼 ??는 첫 번째 피연산자가 false 값이더라도 그 값을 반환한다.
let max = maxWidth || 500; // maxWidth가 숫자 0이나 empty string이면 false이므로 500이 반환
let max = maxWidth ?? 500; // maxWidth가 숫자 0이면 그대로 0이 반환된다
반응형
댓글