Set[Symbol.species]

Baseline 已广泛支持

此特性已非常成熟,可在多种设备和浏览器版本上使用。自 ⁨2016 年 9 月⁩以来,它已在各大浏览器中可用。

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

语法

js
Set[Symbol.species]

返回值

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

描述

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

注意: 此属性目前未被所有 Set 方法使用。

示例

普通对象中的 species

[Symbol.species] 属性返回默认构造函数,也就是 SetSet 构造函数。

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

派生对象中的 species

在自定义 Set 子类的实例中,例如 MySetMySet 的 species 是 MySet 构造函数。但是,您可能希望重写它,以便在派生类方法中返回父 Set 对象。

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

规范

规范
ECMAScript® 2026 语言规范
# sec-get-set-%symbol.species%

浏览器兼容性

另见