Set[Symbol.species]

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

语法

js
Set[Symbol.species]

返回值

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

描述

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

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

示例

普通对象的 Species

[Symbol.species] 属性返回默认构造函数,即 Set 的构造函数。

js
Set[Symbol.species]; // 函数 Set()

派生对象的 Species

在一个自定义的 Set 子类(如 MySet)的实例中,MySetspeciesMySet 构造函数。但是,你可能希望覆盖它,以便在派生类方法中返回父 Set 对象:

js
class MySet extends Set {
  // 用父类 Set 构造函数覆盖 MySet 的 species
  static get [Symbol.species]() {
    return Set;
  }
}

规范

Specification
ECMAScript® 2025 Language Specification
# sec-get-set-%symbol.species%

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
[Symbol.species]

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见