Разлика помеѓу декларации на функции
Двата начини на декларирање на функција се еквивалентни, но постои суштинска разлика: функциите декларирани како Function Declaration, ќе бидат достапни, дури и ако се пристапи кон нив пред тие да се декларирани.
Погледнете го примерот:
// Пристапуваме до функцијата пред нејзината декларација:
func(); // ќе испише '!'
function func() {
console.log('!');
}
А функционалните изрази се креирани во моментот на извршување на кодот и се недостапни погоре. Затоа ваков код ќе даде грешка:
func(); // грешка, таква функција сè уште не постои!
let func = function() {
console.log('!');
};
Креирајте функција како Function Declaration. Проверете дека таа ќе биде достапна погоре од местото на нејзината декларација.
Креирајте функција како Function Expression. Проверете дека таа нема да биде достапна погоре од местото на нејзината декларација.