¿Alguien puede explicar por qué la primera función se ejecuta y no la segunda cuando la llamo?
{ function a() { console.log('first function') } } function a() { console.log('second function') } a()Si los declaramos en un alcance global, se comportan como se esperaba, pero dentro del alcance del bloque es completamente diferente. ¿Por qué?
function a() { console.log('first function') } function a() { console.log('second function') } a()La función global delaration mueve la función hacia arriba (elevación), la del bloque permanece en su lugar.
El siguiente resultado es de Edge 103.0.1264.37 .
a(); // second { function a() { console.log('first function') } } a(); // first function a() { console.log('second function') } a(); // first