AsyncGeneratorFunction

AsyncGeneratorFunction オブジェクトは、非同期ジェネレータ関数 のメソッドを提供します。 JavaScript で、すべての非同期ジェネレータ関数は実際には AsyncGeneratorFunction オブジェクトです。

なお、AsyncGeneratorFunction はグローバルオブジェクトではありません。以下のコードで取得できます。

js
const AsyncGeneratorFunction = async function* () {}.constructor;

AsyncGeneratorFunctionFunction のサブクラスです。

試してみましょう

コンストラクター

AsyncGeneratorFunction()

新しい AsyncGeneratorFunction オブジェクトを生成します。

インスタンスプロパティ

親である Function から継承したインスタンスプロパティもあります

これらのプロパティは AsyncGeneratorFunction.prototype で定義されており、すべての AsyncGeneratorFunction インスタンスで共有されます。

AsyncGeneratorFunction.prototype.constructor

このインスタンスオブジェクトを生成したコンストラクター関数です。 AsyncGeneratorFunction インスタンスにおいては、初期値は AsyncGeneratorFunction コンストラクターです。

AsyncGeneratorFunction.prototype.prototype

すべての非同期ジェネレータ関数は同じ prototype プロパティを共有していて、それは AsyncGenerator.prototype です。それぞれの非同期ジェネレーター関数のインスタンスは自分自身で prototype プロパティも持ちます。非同期ジェネレーター関数が呼び出されると、返される非同期ジェネレーターオブジェクトは非同期ジェネレーター関数の prototype プロパティを継承し、そのプロパティは AsyncGeneratorFunction.prototype を継承します。

AsyncGeneratorFunction.prototype[@@toStringTag]

@@toStringTag プロパティの初期値は文字列 "AsyncGeneratorFunction" です。このプロパティは Object.prototype.toString() で使用します。

インスタンスメソッド

親である Function からインスタンスメソッドを継承しています

仕様書

Specification
ECMAScript Language Specification
# sec-asyncgeneratorfunction-objects

ブラウザーの互換性

BCD tables only load in the browser

関連情報