--- title: 'get RegExp[@@species]' slug: Web/JavaScript/Reference/Global_Objects/RegExp/@@species tags: - JavaScript - Property - Prototype - Reference - RegExp - Regular Expressions translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@species ---
RegExp[@@species]
アクセサープロパティは RegExp
コンストラクターを返します。
species
アクセサープロパティは、 RegExp
の既定のコンストラクターを返します。サブクラスのコンストラクターは、コンストラクターの割り当てをオーバーライドするためにこれを使用することができます。
species
プロパティは、既定のコンストラクターを返します。 RegExp
オブジェクトであれば、 RegExp
コンストラクターを返します。
RegExp[Symbol.species]; // function RegExp()
派生クラスのコレクションオブジェクト (たとえば、独自の正規表現を表す MyRegExp
) では、 MyRegExp
の species は MyRegExp
コンストラクターです。しかし、派生クラスのメソッドで親である RegExp
オブジェクトを返すようにこれをオーバーライドしたくなるかもしれません。
class MyRegExp extends RegExp { // MyRegExp の species を親である RegExp コンストラクタにオーバーライドします。 static get [Symbol.species]() { return RegExp; } }
仕様書 |
---|
{{SpecName('ESDraft', '#sec-get-regexp-@@species', 'get RegExp [ @@species ]')}} |
{{Compat("javascript.builtins.RegExp.@@species")}}