Middle
Come funzionano i generatori in JavaScript rispetto alle funzioni normali?
sobes.tech AI
Risposta dell'AI
I generator in JavaScript sono funzioni che possono sospendere la loro esecuzione e restituire valori intermedi tramite la parola chiave yield. A differenza delle funzioni normali, che vengono eseguite completamente e restituiscono un singolo valore, i generatori consentono di creare iteratori con generazione pigra di valori.
Esempio di generatore:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // sospende l'esecuzione e restituisce il valore
count++;
}
}
const counter = countUpTo(3);
console.log(counter.next().value); // 1
console.log(counter.next().value); // 2
console.log(counter.next().value); // 3
console.log(counter.next().done); // true
Pertanto, i generatori sono utili per lavorare con sequenze di dati che non devono essere calcolate immediatamente in tutta la loro completezza.