Cuando ejecuto este código, recibo un error: No se puede acceder a 'adiós' antes de la inicialización
setTimeout(bye, 3000); console.log('Hello'); let bye = () => console.log('Goodbye');Pero si cambio la función a la sintaxis de función normal, se ejecuta como esperaría. ¿Por qué sucede esto y hay alguna manera de hacer que esto funcione con la sintaxis de flecha?
Se llama Hoisting, las funciones de flecha no lo permiten, por lo que debe declararlas antes de llamarlas.