get RegExp[@@species]

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

解説

species アクセサープロパティは、 RegExp の既定のコンストラクターを返します。サブクラスのコンストラクターは、コンストラクターの割り当てをオーバーライドするためにこれを使用することができます。

通常オブジェクトの species

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

RegExp[Symbol.species]; // function RegExp()

派生オブジェクトの species

派生クラスのコレクションオブジェクト (たとえば、独自の正規表現を表す MyRegExp) では、 MyRegExp の species は MyRegExp コンストラクターです。しかし、派生クラスのメソッドで親である RegExp オブジェクトを返すようにこれをオーバーライドしたくなるかもしれません。

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

仕様書

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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
@@speciesChrome 完全対応 50Edge 完全対応 13Firefox 完全対応 49IE 未対応 なしOpera 完全対応 37Safari 完全対応 10WebView Android 完全対応 50Chrome Android 完全対応 50Firefox Android 完全対応 49Opera Android 完全対応 37Safari 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.

凡例

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

関連情報