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
の 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 Language Specification # sec-get-set-%symbol.species% |
ブラウザーの互換性
BCD tables only load in the browser