Розніца аб'яў функцыі
Абодва спосабы аб'явы функцыі эквівалентныя, але ёсць істотная розніца: функцыі, аб'яўленыя як Function Declaration, будуць даступныя, нават калі звярнуцца да іх да таго, як яны былі аб'яўлены.
Глядзіце прыклад:
// Звяртаемся да функцыі да яе аб'явы:
func(); //вывядзе '!'
function func() {
console.log('!');
}
А функцыянальныя выразы ствараюцца ў момант выканання кода і недаступныя вышэй. Таму такi код выдасць памылку:
func(); //памылка, такой функцыі яшчэ няма!
let func = function() {
console.log('!');
};
Стварыце функцыю як Function Declaration. Праверце тое, што яна будзе даступная вышэй месца сваёй аб'явы.
Стварыце функцыю як Function Expression. Праверце тое, што яна не будзе даступная вышэй месца сваёй аб'явы.