공부 정리/웹(Web)

JS Falsy값과 null병합 연산자

경적필패. 2022. 2. 17. 20:45
반응형

글 작성 동기

Javascript의 falsy값이 헷갈릴 때가 있어서 이번에 정리해 보았습니다.

 

js의 falsy 값

  • false
  • 0
  • -0
  • null
  • ""
  • undefined
  • NaN
  • 0n(BigInt 사용하면 true) (0n만 false임, 1n 2n 3n...은 true)
a = 0n;
b = 6
console.log( a || b); // 6
a = 1n;
b = 6
console.log( a || b); //1n

 

null 병합 연산자(ES11도입)

null 병합 연산자는  ??키워드를 통해 사용할 수 있고 왼쪽 값이 null 또는 undefined일 경우에만 반응 합니다.

 

a = "";
b = 6
console.log( a || b); //6
a = "";
b = 6
console.log( a ?? b); //nothing
a = null;
b = 6
console.log( a ?? b); //6

 

위 예시 처럼 ??는 null과 undefined에만 falsy값처럼 반응 합니다.

 

한줄요약 : ??는 ||과 다르게, null과 undefined만 false로 본다.

반응형