Générateurs en JavaScript
Il existe des fonctions spéciales, à l'aide desquelles on peut créer ses propres itérateurs. De telles fonctions sont appelées générateurs. Le nom de ces fonctions doit commencer par une astérisque :
function *func() {
}
À l'intérieur des générateurs, le mot-clé
yield est utilisé, indiquant
ce que l'itérateur doit retourner
lors du prochain appel. Par exemple,
faisons en sorte que le premier
appel retourne 1, le deuxième - 2,
et le troisième - 3 :
function *func() {
yield 1;
yield 2;
yield 3;
}
Le générateur retourne comme résultat un itérateur :
let iter = func();
Vérifions le fonctionnement de notre itérateur :
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Créez un itérateur dont chaque appel
retournera les nombres de 5
à 1.