Sobes.tech
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 No
Disponibilità Prima della dichiarazione nel codice Dopo la dichiarazione nel codice
Nome Obbligatorio Può essere anonima
Sintassi function nome(...) {...} const variabile = function(...) {...}