JavaScript Matriz vacía


Ejemplo

/* ToNumber(ToPrimitive([])) == ToNumber(false) */
[] == false; // true

Cuando se ejecuta [].toString() , llama a [].join() si existe, o Object.prototype.toString() contrario. Esta comparación devuelve true porque [].join() devuelve '' que, forzado en 0 , es igual a fallar ToNumber .

Sin embargo, tenga cuidado, todos los objetos son sinceros y Array es una instancia de Object :

// Internally this is evaluated as ToBoolean([]) === true ? 'truthy' : 'falsy'
[] ? 'truthy' : 'falsy'; // 'truthy'