
??는 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이다.⚠️ 주의! 연산자의 순위가 낮은 편이므로 괄호와 함께 사용하는 것이 좋다.
&&는 뭐더라?||와 반대이다.
오른쪽 값을 반환한다.