このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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

ブラウザーの互換性

関連情報