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; }
}
仕様書
Specification |
---|
ECMAScript Language Specification # sec-get-regexp-@@species |
ブラウザーの互換性
BCD tables only load in the browser