AsyncGeneratorFunction() コンストラクター
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。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
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-asyncgeneratorfunction-constructor> |