Różnica w deklaracjach funkcji

Oba sposoby deklarowania funkcji są równoważne, ale istnieje istotna różnica: funkcje zadeklarowane jako Function Declaration będą dostępne, nawet jeśli odwołamy się do nich zanim zostały zadeklarowane.

Zobacz przykład:

javascript// Odwołujemy się do funkcji przed jej deklaracją:
func(); //wypisze '!'

function func() {
  console.log('!');
}

Wyrażenia funkcyjne są tworzone w momencie wykonywania kodu i niedostępne wyżej. Dlatego taki kod zwróci błąd:

javascriptfunc(); //błąd, takiej funkcji jeszcze nie ma!

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

Utwórz funkcję jako Function Declaration. Sprawdź, że będzie dostępna powyżej miejsca swojej deklaracji.

Задание 2

Utwórz funkcję jako Function Expression. Sprawdź, że nie będzie dostępna powyżej miejsca swojej deklaracji.