Back to Basics : function*

Back to Basics : function*

function * est une fonction génératrice qui retourne un objet Générateur. Les générateurs sont étroitement liés aux itérateurs.

Mais qu'est-ce qu'une fonction génératrice ?
C'est une fonction qui peut s'arrêter en cours d'exécution et reprendre là où elle s'est arrêtée !

function* exempleDeGenerateur() {
  let compteur = 0;
  yield `Première étape ! ${compteur}`;
  compteur++;
  yield `Deuxième étape ! ${compteur}`;
  compteur++;
  console.log('Aucun yield, la fonction est terminée');
}

const generateur = exempleDeGenerateur();
console.log(generateur.next().value); // Première étape ! 1
console.log(generateur.next().value); // Deuxième étape ! 2
console.log(generateur.next().value); // Aucun yield, la fonction est terminée

L'objet Générateur offre une fonction next() que vous pouvez appeler pour aller plus loin dans la prochaine étape du générateur.

Vous pouvez consulter MDN pour plus d'informations.

C'est tout, faites-en bon usage !