?? (Nullish Coalescing)와 || (Logical OR) 차이점은 Falsy 값 처리 방식에서 차이가 있다.
??은 null이나 undefined일 때만 오른쪽 값을 반환한다.""), false와 같은 Falsy 값은 유효한 값으로 취급되며, 왼쪽 값을 그대로 사용한다.예)
endPageNumber = 0; // 결과: 0
endPageNumber = null; // 결과: 0
endPageNumber = undefined; // 결과: 0
0, '', false, null, undefined)에 대해 오른쪽 값을 반환한다.false 등의 값을 Falsy 값으로 간주하여, 이 값들이 있으면 오른쪽 값을 반환한다.예)
endPageNumber = 0; // 결과: 오른쪽 값 (0은 Falsy 값으로 처리되어 오른쪽 값 반환)
endPageNumber = null; // 결과: 0
endPageNumber = undefined; // 결과: 0
??는 null과 undefined만 처리하고, ||는 모든 Falsy 값을 처리한다.??를 사용하는 것이 더 적합하다.