--- title: Object.getOwnPropertySymbols() slug: Web/JavaScript/Reference/Objets_globaux/Object/getOwnPropertySymbols tags: - ECMAScript 2015 - JavaScript - Méthode - Object - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols ---
La méthode Object.getOwnPropertySymbols()
renvoie un tableau contenant tous les symboles des propriétés trouvées directement sur un objet donné.
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 !
Object.getOwnPropertySymbols(obj)
obj
Un tableau des symboles trouvés directement sur l'objet passé en argument.
De la même façon que {{jsxref("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 {{jsxref("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.
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écification | État | Commentaires |
---|---|---|
{{SpecName('ES2015', '#sec-object.getownpropertysymbols', 'Object.getOwnPropertySymbols')}} | {{Spec2('ES2015')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-object.getownpropertysymbols', 'Object.getOwnPropertySymbols')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Object.getOwnPropertySymbols")}}