HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
View in English Always switch to English
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.
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.
Function
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"
GeneratorFunction()
Crée un nouvel objet GeneratorFunction.
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
GeneratorFunction.prototype.constructor
La fonction constructeur qui a créé l'objet d'instance. Pour les instances de GeneratorFunction, la valeur initiale est le constructeur GeneratorFunction.
GeneratorFunction.prototype.prototype
Toutes les fonctions génératrices partagent la même propriété prototype, qui est Generator.prototype. Chaque fonction génératrice créée avec la syntaxe function* ou le constructeur GeneratorFunction() possède aussi sa propre propriété prototype, dont le prototype est GeneratorFunction.prototype.prototype. Quand la fonction génératrice est appelée, sa propriété prototype devient le prototype de l'objet générateur retourné.
prototype
Generator.prototype
function*
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 dans Object.prototype.toString().
[Symbol.toStringTag]
"GeneratorFunction"
Object.prototype.toString()
Ces propriétés sont propres à chaque instance de GeneratorFunction.
Utilisée quand la fonction est utilisée comme constructeur avec l'opérateur new. Elle devient le prototype du nouvel objet.
new
Hérite des méthodes d'instance de son parent Function.
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
AsyncFunction
AsyncGeneratorFunction