get RegExp[@@species]

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

構文

RegExp[Symbol.species]

説明

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

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

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

派生クラスのコレクションオブジェクト(たとえば、カスタム regexp の MyRegExp)では、MyRegExp[@@species]MyRegExp コンストラクタです。しかし、派生クラスのメソッドで親である RegExp オブジェクトを返すようにこれをオーバーライドしたいかもしれません。

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

仕様

仕様 状態 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
get RegExp [ @@species ] の定義
標準 初期定義。
ECMAScript Latest Draft (ECMA-262)
get RegExp [ @@species ] の定義
ドラフト  

ブラウザー実装状況

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

凡例

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

関連項目