Почему сравнение 0 с массивом длины 1 возвращает true, тогда как возвращает false для длины массива 2 или более? Например,
var a=[] //undefined
0<a //returns false
a.push(1) // [1]
0<a // returns true
a.push(2) // [1, 2]
0<a // return false
a.push(3) // [1, 2, 3]
0<a // return false