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

浏览器兼容性

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
@@speciesChrome Full support 51Edge Full support 13Firefox Full support 41IE No support NoOpera Full support 38Safari Full support 10WebView Android Full support 51Chrome Android Full support 51Edge Mobile Full support 13Firefox Android Full support 41Opera Android Full support 38Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.5.0
Full support 6.5.0
Full support 6.0.0
Disabled
Disabled From version 6.0.0: this feature is behind the --harmony runtime flag.

Legend

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

相关链接