Object : méthode statique getOwnPropertySymbols()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
La méthode statique Object.getOwnPropertySymbols() retourne un tableau contenant tous les symboles des propriétés trouvées directement sur un objet donné.
Exemple interactif
const object = {};
const a = Symbol("a");
const b = Symbol.for("b");
object[a] = "localSymbol";
object[b] = "globalSymbol";
const objectSymbols = Object.getOwnPropertySymbols(object);
console.log(objectSymbols.length);
// Résultat attendu : 2
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'obtenir toutes les propriétés symboliques d'un objet donné sous forme d'un tableau de symboles. Notez que Object.getOwnPropertyNames() ne contient pas les propriétés symboliques d'un objet et uniquement les propriétés de type chaîne de caractères.
Comme tous les objets n'ont pas de propriétés symboliques propres initialement, Object.getOwnPropertySymbols() retourne un tableau vide sauf si vous avez défini des propriétés symboliques sur votre objet.
Exemples
>Utiliser Object.getOwnPropertySymbols()
const obj = {};
const a = Symbol("a");
const b = Symbol.for("b");
obj[a] = "localSymbol";
obj[b] = "globalSymbol";
const objectSymbols = Object.getOwnPropertySymbols(obj);
console.log(objectSymbols.length); // 2
console.log(objectSymbols); // [Symbol(a), Symbol(b)]
console.log(objectSymbols[0]); // Symbol(a)
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.getownpropertysymbols> |
Compatibilité des navigateurs
Voir aussi
- La prothèse d'émulation de
Object.getOwnPropertySymbolsdanscore-js(angl.) - La méthode statique
Object.getOwnPropertyNames() - L'objet natif
Symbol