GeneratorFunction
GeneratorFunction 对象提供了用于生成器函数的方法。在 JavaScript 中,每个生成器函数实际上都是一个 GeneratorFunction 对象。
请注意,GeneratorFunction 不是一个全局对象。可以通过以下代码获取:
js
const GeneratorFunction = function* () {}.constructor;
GeneratorFunction 是 Function 的一个子类。
试一试
const GeneratorFunction = function* () {}.constructor;
const foo = new GeneratorFunction(`
yield 'a';
yield 'b';
yield 'c';
`);
let str = "";
for (const val of foo()) {
str += val;
}
console.log(str);
// Expected output: "abc"
构造函数
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 实例的自身属性。
实例方法
从其父级 Function 继承实例方法。.
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-generatorfunction-objects |
浏览器兼容性
加载中…