MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

get Array[@@species]

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) ? ? ?

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,