AsyncGeneratorFunction
AsyncGeneratorFunction
オブジェクトは、非同期ジェネレータ関数 のメソッドを提供します。 JavaScript で、すべての非同期ジェネレータ関数は実際には AsyncGeneratorFunction
オブジェクトです。
なお、AsyncGeneratorFunction
はグローバルオブジェクトではありません。以下のコードで取得できます。
const AsyncGeneratorFunction = async function* () {}.constructor;
AsyncGeneratorFunction
は Function
のサブクラスです。
試してみましょう
コンストラクター
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