본문 바로가기

개발/JavaScript

[Javascript] falsy?

논리적 NOT(!) 은 다음과 같은 값들을 false라고 칭한다.

 

undefined
null
NaN
0, -0
"", '', ``
false

 

console.log(!undefined); // true
console.log(!null); // true
console.log(!NaN); // true
console.log(!0); // true
console.log(!-0); // true
console.log(!''); // true
console.log(!false); // true

 

모두 true가 나온다는 점을 미루어 봤을 때

앞서 나열한 것들은 모두 논리적인 false 임을 알 수 있다.

 

따라서 undefined, null인 것들을 판별하고 싶을 때

단순히 if(!data) 이렇게 구현하는 것은 의도와 다른 결과가 나올수도 있음을 인지하기.