AsyncGeneratorFunction() コンストラクター
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年1月.
AsyncGeneratorFunction() コンストラクターは AsyncGeneratorFunction オブジェクトを生成します。
なお、 AsyncGeneratorFunction はグローバルオブジェクトではありません。 以下のコードを評価することで得られます。
js
const AsyncGeneratorFunction = async function* () {}.constructor;
AsyncGeneratorFunction() コンストラクターは直接使用することを意図しておらず、Function() の説明で述べた注意事項はすべて AsyncGeneratorFunction() にも当てはまります。
構文
js
new AsyncGeneratorFunction(functionBody)
new AsyncGeneratorFunction(arg1, functionBody)
new AsyncGeneratorFunction(arg1, arg2, functionBody)
new AsyncGeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)
AsyncGeneratorFunction(functionBody)
AsyncGeneratorFunction(arg1, functionBody)
AsyncGeneratorFunction(arg1, arg2, functionBody)
AsyncGeneratorFunction(arg1, arg2, /* …, */ argN, functionBody)
メモ:
AsyncGeneratorFunction() は new があってもなくても呼び出すことができます。どちらも新しい AsyncGeneratorFunction インスタンスを生成します。
引数
Function() を参照してください。
例
>コンストラクターの使用
次の例では、AsyncGeneratorFunction コンストラクターを使用して非同期ジェネレータ関数を作成します。
js
const AsyncGeneratorFunction = async function* () {}.constructor;
const createAsyncGenerator = new AsyncGeneratorFunction("a", "yield a * 2");
const asyncGen = createAsyncGenerator(10);
asyncGen.next().then((res) => console.log(res.value)); // 20
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-asyncgeneratorfunction-constructor> |