--- 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 ---
{{JSRef}}

 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")}}

相关链接