Javascript에서 false로 판단되는 값들

  • undefined
  • null
  • 0
  • -0
  • NaN
  • "" // 빈 문자열
  • false

예제

var arr = [undefined, null, 0, -0, NaN, "", false];
for (const flag of arr)
  if (!flag)
    console.log(flag, '<< is false!'); // 다 출력된다.

for (const flag of arr)
  console.log(flag, 'is equal to false?', flag == false); // 0, -0 빼놓고 다 false
  • if 문을 사용할 때
    • if (undefined) 보다는
    • if (arr[0] === undefined) 를 사용하는 것이 좋다.
var flag = undefined;
if (!flag)
  console.log(flag, ' << print! 1st');

if (flag === undefined)
  console.log(flag, ' << print! 2nd');
  • 보너스
if (null == undefined)
  console.log('non-strict null == undefined'); // 출력

{
  "use strict";
  if (null === undefined)
    console.log('strict null === undefined'); //출력x
}