JavaScript Значения, которые приводятся к FALSE, эквивалентны false

В JavaScript любое значение может быть приведено к логическому типу, а вот эти значения всегда приводятся именно к логическому false:

/* значения. приводящиеся к false:*/
undefined
null
0
-0    // "минус ноль"
NaN
"" // пустая строка

про NaN здесь.

Все остальные же значения, в т.ч. объекты и массивы эквиваленты true для логических проверок.