--- title: 'get Set[@@species]' slug: Web/JavaScript/Reference/Global_Objects/Set/@@species tags: - ECMAScript 2015 - JavaScript - Property - set translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@species ---
{{JSRef}}

Array[Symbol.species] アクセサープロパティは、Set コンストラクターを返します。

解説

species アクセサープロパティは、 Set オブジェクトの既定のコンストラクターを返します。サブクラスのコンストラクターはコンストラクターに代入することで、これをオーバーライドすることができます。

通常のオブジェクトの spicies

species プロパティは、Set オブジェクトの既定のコンストラクター関数である Set コンストラクターを返します。

Set[Symbol.species]; // Set() 関数

派生オブジェクトの spicies

派生コレクションオブジェクト (たとえば、独自の配列である MySet) では、MySet の species は MySet コンストラクターです。しかし、派生クラスのメソッドで、親である Set オブジェクトを返すためにこれをオーバーライドしたいかもしれません。

class MySet extends Set {
  // MySet species を親である Set コンストラクターにオーバーライド。
  static get [Symbol.species]() { return Set; }
}

仕様書

仕様書
{{SpecName('ESDraft', '#sec-get-set-@@species', 'get Set [ @@species ]')}}

ブラウザーの互換性

{{Compat("javascript.builtins.Set.@@species")}}

関連情報