Sobes.tech
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.