Encontré un comportamiento extraño que no podía entender ni siquiera leyendo el documento de MDN sobre elevación . Dice que las funciones y variables se mueven a la parte superior del alcance, excepto la inicialización de variables. Entonces, ¿cómo funciona el siguiente código?
const element = document.getElementById('#el'); element.addEventListener('click', function() { console.log(myVariable); // 'myValue' }); const myVariable = 'myValue'; // Variable initialization. Como puede ver, la inicialización de myVariable ocurre después de la función anónima para el detector de eventos de clic.