Middle
Cum funcționează generatorii în JavaScript, în comparație cu funcțiile normale?
sobes.tech AI
Răspuns de la AI
Generatorii în JavaScript sunt funcții care pot suspenda execuția lor și pot returna valori intermediare folosind cuvântul cheie yield. Spre deosebire de funcțiile obișnuite, care se execută complet și returnează o singură valoare, generatorii permit crearea de iteratoare cu generare leneșă de valori.
Exemplu de generator:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // suspendă execuția și returnează valoarea
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
Prin urmare, generatorii sunt utili pentru lucrul cu secvențe de date care nu trebuie calculate imediat în întregime.