a ?? b를 평가하면 결과는 다음과 같다
a가 null도 아니고 undefined도 아니면 a
그 외의 경우는 b
nullish(??) 병합 연산자와 OR(||)연산자의 차이
let height = 0;
console.log(height || 100);
// 100 (변수 height의 값이 0이므로 falsy한 값으로 취급을 했기 때문에 100이 나옴
console.log(height ?? 100);
// 0 (반면 여기에선 평과 결과가 정확하게 null이나 undefined일 경우에만 100이 출력됨
// 예시에선 height에 0이라는 값을 할당했기에 0이 나옴)