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 |
瀏覽器相容性
載入中…