La méthode Object.getOwnPropertySymbols() renvoie un tableau contenant tous les symboles des propriétés trouvées directement sur un objet donné.

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 Latest Draft (ECMA-262)
La définition de 'Object.getOwnPropertySymbols' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simpleChrome Support complet 38Edge Support complet OuiFirefox Support complet 36IE Aucun support NonOpera Support complet 25Safari Support complet 9WebView Android Support complet 38Chrome Android Support complet 38Edge Mobile Support complet OuiFirefox Android Support complet 36Opera Android Support complet 25Safari iOS Support complet 9Samsung Internet Android Support complet Ouinodejs Support complet 0.12

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,