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

View in English Always switch to English

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

ブラウザーの互換性

関連情報