Разлика помеѓу декларации на функции

Двата начини на декларирање на функција се еквивалентни, но постои суштинска разлика: функциите декларирани како Function Declaration, ќе бидат достапни, дури и ако се пристапи кон нив пред тие да се декларирани.

Погледнете го примерот:

javascript// Пристапуваме до функцијата пред нејзината декларација:
func(); // ќе испише '!'

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

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

javascriptfunc(); // грешка, таква функција сè уште не постои!

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

Креирајте функција како Function Declaration. Проверете дека таа ќе биде достапна погоре од местото на нејзината декларација.

Задание 2

Креирајте функција како Function Expression. Проверете дека таа нема да биде достапна погоре од местото на нејзината декларација.