GeneratorFunction
GeneratorFunction
对象为 生成器函数 提供方法。在 JavaScript 中,每个生成器函数实际上都是一个 GeneratorFunction
对象。
¥The GeneratorFunction
object provides methods for generator functions. In JavaScript, every generator function is actually a GeneratorFunction
object.
请注意,GeneratorFunction
不是全局对象。可以通过以下代码获取:
¥Note that GeneratorFunction
is not a global object. It can be obtained with the following code:
const GeneratorFunction = function* () {}.constructor;
GeneratorFunction
是 Function
的子类。
¥GeneratorFunction
is a subclass of Function
.
Try it
构造函数
实例属性
¥Instance properties
还从其父级 Function
继承实例属性。
¥Also inherits instance properties from its parent Function
.
这些属性在 GeneratorFunction.prototype
上定义并由所有 GeneratorFunction
实例共享。
¥These properties are defined on GeneratorFunction.prototype
and shared by all GeneratorFunction
instances.
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
实例自己的属性。
¥These properties are own properties of each GeneratorFunction
instance.
实例方法
规范
Specification |
---|
ECMAScript Language Specification # sec-generatorfunction-objects |
浏览器兼容性
BCD tables only load in the browser