Diferența dintre declarațiile de funcții
Ambele moduri de a declara o funcție sunt echivalente, dar există o diferență esențială: funcțiile declarate ca Function Declaration vor fi accesibile, chiar dacă se face apel la ele înainte de a fi declarate.
Vedeți exemplul:
// Apelăm funcția înainte de declarația ei:
func(); //va afișa '!'
function func() {
console.log('!');
}
Iar expresiile funcționale sunt create în momentul executării codului și nu sunt accesibile mai sus. De aceea un astfel de cod va genera o eroare:
func(); //eroare, o asemenea funcție nu există încă!
let func = function() {
console.log('!');
};
Creați o funcție ca Function Declaration. Verificați faptul că va fi accesibilă mai sus locului unde este declarată.
Creați o funcție ca Function Expression. Verificați faptul că nu va fi accesibilă mai sus locului unde este declarată.