A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Symbol/species below:

Symbol.species - JavaScript | MDN

Symbol.species

Baseline Widely available

Le symbole Symbol.species correspond à une fonction utilisée comme constructeur pour créer des objets dérivés.

Exemple interactif
class Array1 extends Array {
  static get [Symbol.species]() {
    return Array;
  }
}

const a = new Array1(1, 2, 3);
const mapped = a.map((x) => x * x);

console.log(mapped instanceof Array1);
// Expected output: false

console.log(mapped instanceof Array);
// Expected output: true
Description

L'accesseur species permettent aux classes filles de surcharger le constructeur par défaut des objets.

Écrivable Non Énumérable Non Configurable Non 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 Compatibilité des navigateurs Voir aussi

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4