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é.