javascript / latest / global_objects / map / @@species.html /

get Map[@@species]

The Map[@@species] accessor property returns the Map constructor.

Description

The species accessor property returns the default constructor for Map objects. Subclass constructors may over-ride it to change the constructor assignment.

Examples

Species in ordinary objects

The species property returns the default constructor function, which is the Map constructor for Map objects:

Map[Symbol.species]; // function Map()

Species in derived objects

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 {
  // Overwrite MyMap species to the parent Map constructor
  static get [Symbol.species]() { return Map; }
}

Specifications

Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
@@species
51
13
41
No
38
10
51
51
41
41
10
5.0
1.0
6.5.0
6.0.0

See also

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/@@species