GeneratorFunction() コンストラクター
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 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
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-generatorfunction-constructor> |
ブラウザーの互換性
Loading…