for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 0);
}
console.log('Fin'); 📥 Inputs:
ninguno
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
¡Sorpresa! El bucle termina antes que los setTimeout, por eso 'i' ya vale 3 cuando se ejecutan. Además, 'Fin' aparece primero porque setTimeout pospone la ejecución aunque sea 0ms. Es un clásico de JavaScript asíncrono y closures.
¿Esperabas 0, 1, 2? 🤯 Comenta qué salida creías que tendría y aprende sobre el event loop de JS ⏰