この記事は編集レビューを必要としています。ぜひご協力ください。
Array[@@species]
アクセッサプロパティは、Array
コンストラクタを返します。
構文
Array[Symbol.species]
説明
species
アクセッサプロパティは、Array
オブジェクトのための既定のコンストラクタを返します。サブクラスのコンストラクタは、コンストラクタへの割り当てを変更するために、これをオーバーライドできます。
例
species
プロパティは、Array
オブジェクトのための Array
コンストラクタである既定のコンストラクタ関数を返します:
Array[Symbol.species]; // function Array()
派生コレクションオブジェクト(たとえば、カスタム配列の MyArray
)では、 MyArray
の species は MyArray
コンストラクタです。しかし、派生クラスのメソッドで親の Array
オブジェクトを返すために、これを上書きできます:
class MyArray extends Array { // MyArray species を親である Array コンストラクタに上書きする。 static get [Symbol.species]() { return Array; } }
仕様
仕様 | ステータス | コメント |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) get Array [ @@species ] の定義 |
標準 | 初期定義。 |
ECMAScript 2017 Draft (ECMA-262) get Array [ @@species ] の定義 |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | ? | 48 (48) | ? | ? | ? |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | ? | ? | 48.0 (48) | ? | ? | ? |