GeneratorFunction

**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。每个使用 function* 语法或 GeneratorFunction() 构造函数创建的生成器函数也都有自己的 prototype 属性,其原型是 GeneratorFunction.prototype.prototype。当生成器函数被调用时,其 prototype 属性将成为返回的生成器对象的原型。

GeneratorFunction.prototype[Symbol.toStringTag]

[Symbol.toStringTag] 属性的初始值为字符串 "GeneratorFunction"。此属性在 Object.prototype.toString() 中使用。

这些属性是每个 GeneratorFunction 实例的自身属性。

prototype

当函数与 new 运算符一起用作构造函数时使用。它将成为新对象的原型。

实例方法

从其父级 Function 继承实例方法.

规范

规范
ECMAScript 语言规范
# sec-generatorfunction-objects

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅