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] プロパティは、既定のコンストラクター関数、すなわち 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;
}
}
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-set-%symbol.species%> |