GeneratorFunction
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
L'objet GeneratorFunction fournit des méthodes pour les fonctions génératrices. En JavaScript, chaque fonction génératrice est en réalité un objet GeneratorFunction.
Notez que GeneratorFunction n'est pas un objet global. Vous pouvez l'obtenir avec le code suivant :
const GeneratorFunction = function* () {}.constructor;
GeneratorFunction est une sous-classe de Function.
Exemple interactif
const GeneratorFunction = function* () {}.constructor;
const foo = new GeneratorFunction(`
yield 'a';
yield 'b';
yield 'c';
`);
let str = "";
for (const val of foo()) {
str += val;
}
console.log(str);
// Résultat attendu : "abc"
Constructeur
GeneratorFunction()-
Crée un nouvel objet
GeneratorFunction.
Propriétés d'instance
Hérite aussi des propriétés d'instance de son parent Function.
Ces propriétés sont définies sur GeneratorFunction.prototype et partagées par toutes les instances de GeneratorFunction.
GeneratorFunction.prototype.constructor-
La fonction constructeur qui a créé l'objet d'instance. Pour les instances de
GeneratorFunction, la valeur initiale est le constructeurGeneratorFunction. GeneratorFunction.prototype.prototype-
Toutes les fonctions génératrices partagent la même propriété
prototype, qui estGenerator.prototype. Chaque fonction génératrice créée avec la syntaxefunction*ou le constructeurGeneratorFunction()possède aussi sa propre propriétéprototype, dont le prototype estGeneratorFunction.prototype.prototype. Quand la fonction génératrice est appelée, sa propriétéprototypedevient le prototype de l'objet générateur retourné. GeneratorFunction.prototype[Symbol.toStringTag]-
La valeur initiale de la propriété
[Symbol.toStringTag]est la chaîne de caractères"GeneratorFunction". Cette propriété est utilisée dansObject.prototype.toString().
Ces propriétés sont propres à chaque instance de GeneratorFunction.
Méthodes d'instance
Hérite des méthodes d'instance de son parent Function.
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-generatorfunction-objects> |
Compatibilité des navigateurs
Voir aussi
- La déclaration
function* - L'expression
function* - L'objet
Function - L'objet
AsyncFunction - L'objet
AsyncGeneratorFunction - Les fonctions