Middle
Quali sono le caratteristiche di lavorare con espressioni di funzione e dichiarazioni di funzione in JavaScript?
sobes.tech AI
Risposta dell'AI
Dichiarazione di funzione (dichiarazione di funzione):
- Definita usando la parola chiave
function, seguita dal nome della funzione e poi parentesi per i parametri. - È soggetta a hoisting: la funzione è disponibile nell'ambito prima della sua dichiarazione effettiva nel codice.
- Usala quando devi creare una funzione nominata e l'ordine di chiamata non importa.
function helloWorld() {
// Visualizza un messaggio nella console
console.log("Hello, World!");
}
Espressione di funzione (espressione funzionale):
- Definita come parte di un'espressione, di solito assegnata a una variabile.
- Non soggetta a hoisting: la funzione è disponibile solo dopo che la riga di codice corrispondente è stata eseguita.
- Può essere con o senza nome (anonima).
- Usala quando devi passare una funzione come argomento, creare una funzione immediatamente invocata (IIFE) o definire una funzione in una condizione.
const greet = function(name) {
// Restituisce un saluto
return `Ciao, ${name}!`;
};
Confronto:
| Caratteristica | Dichiarazione di funzione | Espressione di funzione |
|---|---|---|
| Hoisting | Sì | No |
| Disponibilità | Prima della dichiarazione nel codice | Dopo la dichiarazione nel codice |
| Nome | Obbligatorio | Può essere anonima |
| Sintassi | function nome(...) {...} |
const variabile = function(...) {...} |