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 2016年9月.
Set[Symbol.species] は静的アクセサープロパティで、Set オブジェクトのコピー方法を指定する未使用のアクセサープロパティです。
構文
js
Set[Symbol.species]
返値
get [Symbol.species] が呼び出されたコンストラクター (this) の値です。この返値は、コピーされた Set インスタンスを生成するために使用されます。
解説
[Symbol.species] アクセサープロパティは、 Set オブジェクトの既定のコンストラクターを返します。サブクラスのコンストラクターはコンストラクターに代入することで、これをオーバーライドすることができます。
メモ:
このプロパティは現在、 Set のどのメソッドでも使用されていません。
例
>通常のオブジェクトの species
[Symbol.species] プロパティは、既定のコンストラクター関数、すなわち Set の Set コンストラクターを返します。
js
Set[Symbol.species]; // Set() 関数
派生オブジェクトの species
独自の Set のサブクラス、例えば MySet のインスタンス内では、 MySet の species は MySet コンストラクターです。しかし、派生クラスのメソッドで、親である Set オブジェクトを返すためにこれをオーバーライドしたいかもしれません。
js
class MySet extends Set {
// MySet species を親である Set コンストラクターにオーバーライド。
static get [Symbol.species]() {
return Set;
}
}
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-set-%symbol.species%> |
ブラウザーの互換性
Loading…