GeneratorFunction() constructor
The GeneratorFunction()
constructor creates GeneratorFunction
objects.
Note that GeneratorFunction
is not a global object. It can be obtained with the following code:
js
const GeneratorFunction = function* () {}.constructor;
The GeneratorFunction()
constructor is not intended to be used directly, and all caveats mentioned in the Function()
description apply to GeneratorFunction()
.
Syntax
js
new GeneratorFunction(functionBody)
new GeneratorFunction(arg1, functionBody)
new GeneratorFunction(arg1, arg2, functionBody)
new GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)
GeneratorFunction(functionBody)
GeneratorFunction(arg1, functionBody)
GeneratorFunction(arg1, arg2, functionBody)
GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)
Note: GeneratorFunction()
can be called with or without new
. Both create a new GeneratorFunction
instance.
Parameters
See Function()
.
Examples
Creating and using a GeneratorFunction() constructor
js
const GeneratorFunction = function* () {}.constructor;
const g = new GeneratorFunction("a", "yield a * 2");
const iterator = g(10);
console.log(iterator.next().value); // 20
Specifications
Specification |
---|
ECMAScript Language Specification # sec-generatorfunction-constructor |
Browser compatibility
BCD tables only load in the browser