GeneratorFunction
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
The GeneratorFunction
object provides methods for generator functions. In JavaScript, every generator function is actually a GeneratorFunction
object.
Note that GeneratorFunction
is not a global object. It can be obtained with the following code:
const GeneratorFunction = function* () {}.constructor;
GeneratorFunction
is a subclass of Function
.
Try it
Constructor
GeneratorFunction()
-
Creates a new
GeneratorFunction
object.
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
GeneratorFunction
instances, the initial value is theGeneratorFunction
constructor. GeneratorFunction.prototype.prototype
-
All generator functions share the same
prototype
property, which isGenerator.prototype
. Each generator function created with thefunction*
syntax or theGeneratorFunction()
constructor also has its ownprototype
property, whose prototype isGeneratorFunction.prototype.prototype
. When the generator function is called, itsprototype
property 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 Language Specification # sec-generatorfunction-objects |
Browser compatibility
BCD tables only load in the browser