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

View in English Always switch to English

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

ブラウザーの互換性

関連情報