get Map[@@species]

Map[@@species] アクセサープロパティは、 Map コンストラクターを返します。

解説

species アクセサープロパティは Map オブジェクトのデフォルトコンストラクターを返します。サブクラスのコンストラクターは、コンストラクターに代入して変更することによりオーバーライドすることができます。

通常のオブジェクトの species

species プロパティはデフォルトコンストラクター関数を返しますので、 Map オブジェクトには Map コンストラクターを返します。

Map[Symbol.species]; // function Map()

派生オブジェクトの species

派生したコレクションオブジェクトの中では (例えばカスタムマップである MyMap)、 MyMap の species は MyMap コンストラクターになっています。しかし、これをオーバーライドして、派生クラスのメソッド内で親の Map オブジェクトを返したい場合があります。

class MyMap extends Map {
  // Overwrite MyMap species to the parent Map constructor
  static get [Symbol.species]() { return Map; }
}

仕様書

ブラウザーの互換性

BCD tables only load in the browser

関連情報