Map[Symbol.species]

Baseline 已廣泛支援

此特性已非常成熟,可在多種裝置和瀏覽器版本上使用。自 ⁨2016 年 9 月⁩以來,它已在各大瀏覽器中可用。

Map[Symbol.species] 靜態訪問器屬性是一個未使用的訪問器屬性,用於指定如何複製 Map 物件。

語法

js
Map[Symbol.species]

返回值

呼叫 get [Symbol.species] 時的建構函式(this)的值。返回值用於構造複製的 Map 例項。

描述

[Symbol.species] 訪問器屬性返回 Map 物件的預設建構函式。子類建構函式可以覆蓋它以更改建構函式分配。

注意: 此屬性當前未被所有 Map 方法使用。

示例

普通物件中的 species

[Symbol.species] 屬性返回預設建構函式,即 MapMap 建構函式。

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

派生物件中的 species

在自定義 Map 子類的例項中,例如 MyMapMyMap 的 species 是 MyMap 建構函式。但是,您可能希望覆蓋它,以便在派生類方法中返回父 Map 物件。

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

規範

規範
ECMAScript® 2026 語言規範
# sec-get-map-%symbol.species%

瀏覽器相容性

另見