Differenza tra le dichiarazioni di funzione

Entrambi i metodi di dichiarazione di funzione sono equivalenti, ma c'è una differenza sostanziale: le funzioni dichiarate come Function Declaration saranno accessibili, anche se ci si riferisce a loro prima che siano state dichiarate.

Guarda l'esempio:

javascript// Ci riferiamo alla funzione prima della sua dichiarazione:
func(); //stamperà '!'

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

Le espressioni di funzione vengono create nel momento in cui il codice viene eseguito e non sono accessibili sopra. Pertanto questo codice genererà un errore:

javascriptfunc(); //errore, tale funzione non esiste ancora!

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

Crea una funzione come Function Declaration. Verifica che sarà accessibile sopra il punto della sua dichiarazione.

Задание 2

Crea una funzione come Function Expression. Verifica che non sarà accessibile sopra il punto della sua dichiarazione.