Le symbole Symbol.species
correspond à une fonction utilisée comme constructeur pour créer des objets dérivés.
Attributs de Symbol.species |
|
---|---|
Écrivable | Non |
Énumérable | Non |
Configurable | Non |
Description
L'accesseur species
permettent aux classes filles de surcharger le constructeur par défaut des objets.
Exemples
Dans certains cas, vous pouvez avoir besoin de renvoyer Array
pour les objets de votre classe dérivée MonArray
. Cela permet par exemple d'utiliser le constructeur par défaut lors d'un appel à map()
. De cette façon, ces méthodes renverront un objet Array
plutôt qu'un objet MonArray
. Grâce au symbole species
, vous pouvez donc faire :
class MonArray extends Array { // On surcharge species avec le constructeur parent Array static get [Symbol.species]() { return Array; } } var a = new MonArray(1,2,3); var mapped = a.map(x => x * x); console.log(mapped instanceof MonArray); // false console.log(mapped instanceof Array); // true
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Symbol.species' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Symbol.species' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer/Edge | Opera | Safari |
---|---|---|---|---|---|
Support simple | 51 | 41 (41) | 14 | 38 | 10 |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE/Edge Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | 5 | 41.0 (41) | 14 | 38 | 10 |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,