--- title: get Map[@@species] slug: Web/JavaScript/Reference/Global_Objects/Map/@@species tags: - ECMAScript 2015 - JavaScript - Map - Property translation_of: Web/JavaScript/Reference/Global_Objects/Map/@@species ---
Map[@@species]
アクセサープロパティは、 Map
コンストラクターを返します。
species アクセサープロパティは Map
オブジェクトのデフォルトコンストラクターを返します。サブクラスのコンストラクターは、コンストラクターに代入して変更することによりオーバーライドすることができます。
species プロパティはデフォルトコンストラクター関数を返しますので、 Map
オブジェクトには Map
コンストラクターを返します。
Map[Symbol.species]; // function Map()
派生したコレクションオブジェクトの中では (例えばカスタムマップである MyMap
)、 MyMap
の species は MyMap
コンストラクターになっています。しかし、これをオーバーライドして、派生クラスのメソッド内で親の Map
オブジェクトを返したい場合があります。
class MyMap extends Map { // Overwrite MyMap species to the parent Map constructor static get [Symbol.species]() { return Map; } }
仕様書 |
---|
{{SpecName('ESDraft', '#sec-get-map-@@species', 'get Map [ @@species ]')}} |
{{Compat("javascript.builtins.Map.@@species")}}