← 返回首页
Set[Symbol.species] - JavaScript | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 オブジェクトのコピー方法を指定する未使用のアクセサープロパティです。

In this article

構文

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® 2027 Language Specification
# sec-get-set-%symbol.species%

ブラウザーの互換性

Enable JavaScript to view this browser compatibility table.

関連情報