get Array[@@species]

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

構文

Array[Symbol.species]

返値

Array コンストラクターです。

解説

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

通常のオブジェクトの spicies

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

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

派生オブジェクトの spicies

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

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

仕様書

仕様書
ECMAScript (ECMA-262)
get Array [ @@species ] の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
@@speciesChrome 完全対応 51Edge 完全対応 79Firefox 完全対応 48IE 未対応 なしOpera 完全対応 38Safari 完全対応 10WebView Android 完全対応 51Chrome Android 完全対応 51Firefox Android 完全対応 48Opera Android 完全対応 41Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.5.0
完全対応 6.5.0
完全対応 6.0.0
無効
無効 From version 6.0.0: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
未対応  
未対応
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報