get Map[@@species]

 Map[@@species] 访问器属性会返回一个 Map 构造函数.




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
ECMAScript 2015 (6th Edition, ECMA-262)
get Map [ @@species ]
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
get Map [ @@species ]


Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
@@species Chrome Full support 51 Edge Full support 13 Firefox Full support 41 IE No support No Opera Full support 38 Safari Full support 10 WebView Android Full support 51 Chrome Android Full support 51 Firefox Android Full support 41 Opera Android Full support 41 Safari iOS Full support 10 Samsung Internet Android Full support 5.0 nodejs Full support 6.5.0
Full support 6.5.0
Full support 6.0.0
Disabled From version 6.0.0: this feature is behind the --harmony runtime flag.


Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.