--- 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 original_slug: Web/JavaScript/Reference/Global_Objects/Map/@@species browser-compat: javascript.builtins.Map.@@species ---
Map[@@species]
访问器属性会返回一个 Map
构造函数.
Map[Symbol.species]
The species accessor property returns the default constructor for Map
objects. Subclass constructors may over-ride it to change the constructor assignment.
The species property returns the default constructor function, which is the Map
constructor for Map
objects:
Map[Symbol.species]; // function Map()
In a derived collection object (e.g. your custom map MyMap
), the MyMap
species is the MyMap
constructor. However, you might want to overwrite this, in order to return parent Map
objects in your derived class methods:
class MyMap extends Map { // 重写覆盖 MyMap species to the parent Map constructor static get [Symbol.species]() { return Map; } }
Specification | Status | Comment |
---|---|---|
{{SpecName('ES2015', '#sec-get-map-@@species', 'get Map [ @@species ]')}} | {{Spec2('ES2015')}} | Initial definition. |
{{SpecName('ESDraft', '#sec-get-map-@@species', 'get Map [ @@species ]')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Map.@@species")}}