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.

GeneratorFunction 对象为生成器函数提供了方法。在 JavaScript 中,每个生成器函数实际上都是一个 GeneratorFunction 对象。

请注意,GeneratorFunction 不是全局对象。可以通过以下代码来获取它:

js
const GeneratorFunction = function* () {}.constructor;

GeneratorFunctionFunction 的子类。

尝试一下

构造函数

GeneratorFunction()

创建一个新的 GeneratorFunction 对象。

实例属性

也从其父类 Function 继承实例属性

这些属性定义于 GeneratorFunction.prototype 并由所有 GeneratorFunction 实例所共享。

GeneratorFunction.prototype.constructor

创建实例对象的构造函数。对于 GeneratorFunction 实例,其初始值是 GeneratorFunction 构造函数。

GeneratorFunction.prototype.prototype

所有生成器函数共享同一个 prototype 属性,即 Generator.prototype。每个生成器函数实例也有自己的 prototype 属性。当生成器函数被调用时,返回的生成器对象从生成器函数继承 prototype 属性,而该属性又继承自 GeneratorFunction.prototype.prototype

GeneratorFunction.prototype[Symbol.toStringTag]

[Symbol.toStringTag] 属性的初始值是字符串 "GeneratorFunction"。该属性被 Object.prototype.toString() 使用。

实例方法

从其父类 Function 继承实例方法

规范

Specification
ECMAScript Language Specification
# sec-generatorfunction-objects

浏览器兼容性

BCD tables only load in the browser

参见