Forskellen mellem funktionserklæringer
Begge måder at erklære en funktion på er ækvivalente, men der er en væsentlig forskel: funktioner erklæret som Function Declaration vil være tilgængelige, selvom man henviser til dem før de er blevet erklæret.
Se eksemplet:
// Henviser til funktionen før dens erklæring:
func(); //vil udskrive '!'
function func() {
console.log('!');
}
Funktionsudtryk oprettes derimod på tidspunktet for kodeudførelse og er ikke tilgængelige højere oppe. Derfor vil denne kode give en fejl:
func(); //fejl, sådan en funktion findes endnu ikke!
let func = function() {
console.log('!');
};
Opret en funktion som Function Declaration. Kontroller, at den vil være tilgængelig over stedet for dens erklæring.
Opret en funktion som Function Expression. Kontroller, at den ikke vil være tilgængelig over stedet for dens erklæring.