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® 2027 Language Specification> # sec-generatorfunction-constructor> |