Dans ES6, l'une des nouveautés intéressantes est l'introduction des fonctions générateur et du mot-clé 'yield'. Vous vous demandez peut-être comment cela fonctionne ? Vous êtes au bon endroit !
En JavaScript ES6, yield
est un mot-clé qui joue un rôle crucial dans la gestion des fonctions générateur. Il est utilisé pour mettre en pause et reprendre une fonction générateur. Voici un exemple concret :
function* maFonctionGeneratrice() {
yield "C'est la première valeur";
yield "C'est la seconde valeur";
}
let monGenerateur = maFonctionGeneratrice();
console.log(monGenerateur.next().value);
// Affiche : C'est la première valeur
console.log(monGenerateur.next().value);
// Affiche : C'est la seconde valeur
Ici, la fonction générateur maFonctionGeneratrice
se met en pause à chaque appel de yield
, puis elle se résume une fois le contrôle repris par .next()
. Chaque appel de .next()
renvoie la valeur où yield
a suspendu l'exécution.
Mais pourquoi utiliser 'yield' et les fonctions générateur ? Leur utilisation fournit plusieurs avantages, dont la possibilité de créer des itérables personnalisés ou la simplification de la manipulation des opérations asynchrones. De plus, elles peuvent améliorer la performance de votre code, car elles permettent d'instancier et d'itérer des éléments à la volée, réduisant ainsi le besoin d'espace mémoire.
Il est important de noter que yield
n'est pas conçu pour céder le contrôle à une autre fonction, produire une valeur à partir d'une séquence ou générer des valeurs aléatoires, comme certains pourraient le croire. Il est uniquement utilisé pour contrôler l'exécution d'une fonction générateur.
En résumé, yield
en JavaScript ES6 est un outil puissant qui se trouve à l'intersection entre le contrôle de l'exécution des fonctions et l'optimisation des performances de votre code.