Sobes.tech
Middle

Comment fonctionnent les générateurs en JavaScript, par rapport aux fonctions normales?

sobes.tech IA

Réponse de l'IA

Les générateurs en JavaScript sont des fonctions qui peuvent suspendre leur exécution et renvoyer des valeurs intermédiaires à l'aide du mot-clé yield. Contrairement aux fonctions classiques, qui s'exécutent entièrement et renvoient une seule valeur, les générateurs permettent de créer des itérateurs avec une génération paresseuse de valeurs.

Exemple de générateur :

function* countUpTo(max) {
  let count = 1;
  while (count <= max) {
    yield count; // suspend l'exécution et renvoie la valeur
    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

Ainsi, les générateurs sont utiles pour travailler avec des séquences de données qui ne doivent pas être calculées immédiatement en totalité.