Sobes.tech
Middle

Hoe werken generators in JavaScript in vergelijking met gewone functies?

sobes.tech AI

Antwoord van AI

Generators in JavaScript zijn functies die hun uitvoering kunnen pauzeren en tussentijdse waarden kunnen teruggeven met behulp van het sleutelwoord yield. In tegenstelling tot gewone functies, die volledig worden uitgevoerd en een enkele waarde retourneren, maken generators het mogelijk om iterators te creëren met luie generatie van waarden.

Voorbeeld van een generator:

function* countUpTo(max) {
  let count = 1;
  while (count <= max) {
    yield count; // pauzeert de uitvoering en geeft de waarde terug
    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

Dus, generators zijn handig voor het werken met sequenties van gegevens die niet meteen volledig hoeven te worden berekend.