Map[Symbol.species]

Map[Symbol.species] 静态访问器属性是一个未使用的访问器属性,用于指定如何复制 Map 对象。

语法

js
Map[Symbol.species]

返回值

调用 get [Symbol.species] 的构造函数 (this) 的值。返回值用于构造复制的 Map 实例。

描述

[Symbol.species] 访问器属性返回 Map 对象的默认构造函数。子类构造函数可以覆盖它以更改构造函数赋值。

注意:此属性当前未使用于所有 Map 方法。

示例

普通对象中的种类

[Symbol.species] 属性返回默认的构造函数,对于 Map 来说,即 Map 构造函数。

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

派生对象中的种类

在自定义 Map 子类的实例中,例如 MyMapMyMap 的种类是 MyMap 构造函数。但是,您可能希望覆盖它,以便在派生类方法中返回父 Map 对象

js
class MyMap extends Map {
  // Overwrite MyMap species to the parent Map constructor
  static get [Symbol.species]() {
    return Map;
  }
}

规范

规范
ECMAScript 语言规范
# sec-get-map-%symbol.species%

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅