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
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。