Symboles

Références

L'actualité

Librairie

L'information

Introduction

à partir de ECMAScript 2015, symbol est un type de données primitif, tout comme number et string.

Les valeurs symbol sont créées en appelant le constructeur Symbol.

Les symboles sont immuables et uniques.

Tout comme les chaînes, les symboles peuvent être utilisés comme clés pour les propriétés d'objet.

Les symboles peuvent également être combinés avec des déclarations de propriétés calculées pour déclarer des propriétés d'objet et des membres de classe.


Symboles connus

Outre les symboles définis par l'utilisateur, il existe des symboles intégrés bien connus. Les symboles intégrés sont utilisés pour représenter les comportements de langage internes.

Voici une liste de symboles connus :

Symbol.hasInstance
Une méthode qui détermine si un objet constructeur reconnaît un objet en tant qu'une des instances du constructeur. Appelé par la sémantique de l'opérateur instanceof.

Symbol.isConcatSpreadable
Une valeur booléenne indiquant qu'un objet doit être aplati pour ses éléments de tableau par Array.prototype.concat.

Symbol.iterator
Une méthode qui renvoie l'itérateur par défaut pour un objet. Appelé par la sémantique de la déclaration for-of.

Symbol.match
Une méthode d'expression régulière qui correspond à l'expression régulière à une chaîne. Appelé par la méthode String.prototype.match.

Symbol.replace
Une méthode d'expression régulière qui remplace les sous-chaînes correspondantes d'une chaîne. Appelé par la méthode String.prototype.replace.

Symbol.search
Une méthode d'expression régulière qui renvoie l'index dans une chaîne qui correspond à l'expression régulière. Appelé par la méthode String.prototype.search.

Symbol.species
Propriété à valeur de fonction qui est la fonction constructeur utilisée pour créer des objets dérivés.

Symbol.split
Une méthode d'expression régulière qui divise une chaîne aux index qui correspondent à l'expression régulière. Appelé par la méthode String.prototype.split.

Symbol.toPrimitive
Une méthode qui convertit un objet en une valeur primitive correspondante. Appelé par l'opération abstraite toPrimitive.

Symbol.toStringTag
Valeur de chaîne utilisée dans la création de la description de chaîne par défaut d'un objet. Appelé par la méthode intégrée Object.prototype.toString.

Symbol.unscopables
Un objet dont les noms de propriété propres sont des noms de propriété exclus des liaisons d'environnement "avec" des objets associés.