--- title: get RegExp[@@species] slug: Web/JavaScript/Reference/Global_Objects/RegExp/@@species tags: - Expressions rationnelles - JavaScript - Propriété - Prototype - Reference - RegExp translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@species original_slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@species ---
La propriété accesseur RegExp[@@species]
renvoie le constructeur RegExp
.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
RegExp[Symbol.species]
L'accesseur species
renvoie le constructeur par défaut pour les objets RegExp
. Les constructeurs des sous-classes peuvent surcharger ce symbole afin de modifier l'affectation du constructeur.
La propriété species
renvoie le constructeur par défaut, dans le cas des objets RegExp
, c'est le constructeur RegExp
:
RegExp[Symbol.species]; // function RegExp()
Pour les objets dérivés (par exemple, une classe MaRegExp
), la valeur de species
sera le constructeur MaRegExp
. Il est possible de surcharger ce comportement afin de renvoyer le constructeur parent RegExp
:
class MaRegExp extends RegExp { // On surcharge species pour renvoyer // le constructeur parent RegExp static get [Symbol.species]() { return RegExp; } }
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES6', '#sec-get-regexp-@@species', 'get RegExp [ @@species ]')}} | {{Spec2('ES6')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-get-regexp-@@species', 'get RegExp [ @@species ]')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.RegExp.@@species")}}