El Misterio del Array Vacío Truthy
Dificultad: Medio JavaScript intermediate coding
const arr = [];
const obj = {};
if (arr && obj && arr == false && obj != false) {
console.log('¡Magia de JavaScript!');
} 📥 Inputs:
arr = [], obj = {}
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
¡Sorpresa! Los arrays y objetos vacíos son truthy en contextos booleanos (&&), pero [] == false es true porque JavaScript convierte el array a string vacío ('') y luego a 0. Sin embargo, {} != false porque los objetos no se convierten igual. Este es un clásico gotcha de coerción de tipos: [] es truthy pero == false al mismo tiempo. ¡Usa === para evitar estas sorpresas!
¿Se ejecuta el console.log? 🤯