GeneratorFunction() 建構函式

Baseline 已廣泛支援

此特性已非常成熟,可在多種裝置和瀏覽器版本上使用。自 ⁨2016 年 9 月⁩以來,它已在各大瀏覽器中可用。

GeneratorFunction() 建構函式用於建立 GeneratorFunction 物件。

請注意,GeneratorFunction 不是一個全域性物件。您可以透過以下程式碼獲取它:

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

GeneratorFunction() 建構函式不應直接使用,並且在 Function() 的描述中提到的所有注意事項都適用於 GeneratorFunction()

語法

js
new GeneratorFunction(functionBody)
new GeneratorFunction(arg1, functionBody)
new GeneratorFunction(arg1, arg2, functionBody)
new GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

GeneratorFunction(functionBody)
GeneratorFunction(arg1, functionBody)
GeneratorFunction(arg1, arg2, functionBody)
GeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)

注意: GeneratorFunction() 可以使用或不使用 new 來呼叫。兩者都會建立一個新的 GeneratorFunction 例項。

引數

請參閱 Function()

示例

建立和使用 GeneratorFunction() 建構函式

js
const GeneratorFunction = function* () {}.constructor;
const g = new GeneratorFunction("a", "yield a * 2");
const iterator = g(10);
console.log(iterator.next().value); // 20

規範

規範
ECMAScript® 2026 語言規範
# sec-generatorfunction-constructor

瀏覽器相容性

另見