La méthode Object.getOwnPropertySymbols()
renvoie un tableau contenant tous les symboles des propriétés trouvées directement sur un objet donné.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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 !
Syntaxe
Object.getOwnPropertySymbols(obj)
Paramètres
obj
- L'objet dont on souhaite lister les symboles des propriétés propres.
Valeur de retour
Un tableau des symboles trouvés directement sur l'objet passé en argument.
Description
De la même façon que Object.getOwnPropertyNames()
, il est possible d'avoir la liste des symboles des propriétés d'un objet donné sous forme d'un tableau. La méthode Object.getOwnPropertyNames()
ne contiendra uniquement que les propriétés « nommées » d'un objet et non pas les propriétés uniquement accessibles via un symbole.
Par défaut, aucun objet ne possède de propriété accessible via un symbole à l'état initial. Ainsi, Object.getOwnPropertySymbols()
renvoie un tableau vide sauf si des propriétés nommées avec des symboles ont été définies pour l'objet.
Exemples
var obj = {};
var a = Symbol("a");
var b = Symbol.for("b");
obj[a] = "symboleLocal";
obj[b] = "symboleGlobal";
var objectSymboles = Object.getOwnPropertySymbols(obj);
console.log(objectSymboles.length); // 2
console.log(objectSymboles) // [Symbol(a), Symbol(b)]
console.log(objectSymboles[0]) // Symbol(a)
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Object.getOwnPropertySymbols' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript (ECMA-262) La définition de 'Object.getOwnPropertySymbols' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser