?? 연산자 | Nullish Coalescing

date
Dec 28, 2021
slug
null-coalescing
summary
JavaScript의 ?? 연산자
thumbnail
status
publish

|| 연산자의 문제점

JavaScript에서 || 연산자 (Logical OR)는 null & undefined 감지를 따로 하지 못 합니다.
false || 'true'; // 'true'; '' || 'true'; // 'true' null || 'true'; // 'true' undefined || 'true'; // 'true'
|| 연산자에서 좌항이 falsy 한 경우 무조건 오른쪽을 선택하기 때문입니다.
JS 내부에서 falsy 한 경우는 null, undefined, false, NaN, 0, ""

?? 연산자

ES2020에서 ?? 연산자가 추가되었습니다.
?? 연산자를 사용하면 nullish 즉, undefined & null 에 대해서 처리를 할 수 있습니다.
false ?? 'true'; // false; '' ?? 'true'; // '' null ?? 'true'; // 'true' undefined ?? 'true'; // 'true'