Разлика в декларациите на функции

И двата начина за деклариране на функция са еквивалентни, но има съществена разлика: функции, декларирани като Function Declaration, ще бъдат достъпни, дори ако се обърнем към тях преди да са били декларирани.

Вижте примера:

javascript// Обръщаме се към функцията преди нейната декларация:
func(); // ще изведе '!'

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

А функционалните изрази се създават в момента на изпълнение на кода и са недостъпни по-горе. Затова такъв код ще даде грешка:

javascriptfunc(); // грешка, такава функция все още няма!

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

Създайте функция като Function Declaration. Проверете, че тя ще бъде достъпна над мястото на нейната декларация.

Задание 2

Създайте функция като Function Expression. Проверете, че тя няма да бъде достъпна над мястото на нейната декларация.