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…