GeneratorFunction - JavaScript | MDN
Try it
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);
// Expected output: "abc"
Constructor
GeneratorFunction()-
Creates a new
GeneratorFunctionobject.
Instance properties
Also inherits instance properties from its parent Function.
These properties are defined on GeneratorFunction.prototype and shared by all GeneratorFunction instances.
GeneratorFunction.prototype.constructor-
The constructor function that created the instance object. For
GeneratorFunctioninstances, the initial value is theGeneratorFunctionconstructor. GeneratorFunction.prototype.prototype-
All generator functions share the same
prototypeproperty, which isGenerator.prototype. Each generator function created with thefunction*syntax or theGeneratorFunction()constructor also has its ownprototypeproperty, whose prototype isGeneratorFunction.prototype.prototype. When the generator function is called, itsprototypeproperty becomes the prototype of the returned generator object. GeneratorFunction.prototype[Symbol.toStringTag]-
The initial value of the
[Symbol.toStringTag]property is the string"GeneratorFunction". This property is used inObject.prototype.toString().
These properties are own properties of each GeneratorFunction instance.
Instance methods
Inherits instance methods from its parent Function.
Specifications
| Specification |
|---|
| ECMAScript® 2027 Language Specification # sec-generatorfunction-objects |