Diferencia entre declaraciones de función
Ambas formas de declarar una función son equivalentes, pero hay una diferencia sustancial: las funciones declaradas como Function Declaration estarán disponibles, incluso si se accede a ellas antes de que sean declaradas.
Vea el ejemplo:
// Accedemos a la función antes de su declaración:
func(); //mostrará '!'
function func() {
console.log('!');
}
Y las expresiones de función se crean en el momento de la ejecución del código y no son accesibles arriba. Por lo tanto, este código dará un error:
func(); //¡error, esta función aún no existe!
let func = function() {
console.log('!');
};
Cree una función como Function Declaration. Compruebe que estará disponible arriba de su lugar de declaración.
Cree una función como Function Expression. Compruebe que no estará disponible arriba de su lugar de declaración.