?? (Nullish Coalescing)와 || (Logical OR)의 차이점

김민서·2024년 11월 29일

DOKBARO

목록 보기
2/6
post-thumbnail

?? (Nullish Coalescing)와 || (Logical OR) 차이점은 Falsy 값 처리 방식에서 차이가 있다.

?? (Nullish Coalescing)

  • ??null이나 undefined일 때만 오른쪽 값을 반환한다.
  • 0, 빈 문자열(""), false와 같은 Falsy 값은 유효한 값으로 취급되며, 왼쪽 값을 그대로 사용한다.

예)

endPageNumber = 0; // 결과: 0
endPageNumber = null; // 결과: 0
endPageNumber = undefined; // 결과: 0

|| (Logical OR)

  • 모든 Falsy 값 (0, '', false, null, undefined)에 대해 오른쪽 값을 반환한다.
  • 0, 빈 문자열, false 등의 값을 Falsy 값으로 간주하여, 이 값들이 있으면 오른쪽 값을 반환한다.

예)

endPageNumber = 0; // 결과: 오른쪽 값 (0은 Falsy 값으로 처리되어 오른쪽 값 반환)
endPageNumber = null; // 결과: 0
endPageNumber = undefined; // 결과: 0

정리

  • ??는 null과 undefined만 처리하고, ||는 모든 Falsy 값을 처리한다.
  • 0이나 빈 문자열을 유효 값으로 취급하려면 ??를 사용하는 것이 더 적합하다.

0개의 댓글