Nullish 병합 연산자 ?? (+ ||, &&)

한별·2023년 11월 5일

Javascript

목록 보기
7/25
post-thumbnail

??는 Nullish Coalescing인데 이는 Nullish일 때 병합(Coalescing)한다는 뜻이다.

이 단어를 들었을 때 두 연산자가 있을 때, null이 아닌 값으로 합쳐준다는 의미로 이해됐다.

그래서 정확히 ?? 가 뭐지

??는 왼쪽 값이 Nullish(null, undefined)이면, 오른쪽 값을 return 한다.

undefined ?? 100 // 100
0 ?? 100 // 0

|| 랑 뭐가 다른데

||는 왼쪽 값이 falsy(false, null, undefined, 0, '', NaN...)일 때, 오른쪽 값을 return 한다.

undefined || 100 // 100
0 || 100 // 100

위의 예시에서 0은 nullish는 아니지만 falsy이기 때문에

  • 0 ?? 100 === 0이지만
  • 0 || 100 === 100이다.

⚠️ 주의! 연산자의 순위가 낮은 편이므로 괄호와 함께 사용하는 것이 좋다.


&&는 뭐더라?

||와 반대이다.

  • 왼쪽 값이 truthy일 때, 오른쪽 값을 return한다.

이것만 기억하자!

  • ??는 왼쪽 값이 Nullish일 때
  • ||는 왼쪽 값이 Falsy일 때
  • &&는 왼쪽 값이 Truthy일 때

오른쪽 값을 반환한다.

참고 자료

[joy_lee] [Javascript] Javascript에서 ?(물음표) 사용법

profile
글 잘 쓰고 싶어요

0개의 댓글