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:

javascript// 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:

javascriptfunc(); //eroare, o asemenea funcție nu există încă!

let func = function() {
  console.log('!');
};
Задание 1

Creați o funcție ca Function Declaration. Verificați faptul că va fi accesibilă mai sus locului unde este declarată.

Задание 2

Creați o funcție ca Function Expression. Verificați faptul că nu va fi accesibilă mai sus locului unde este declarată.