Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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()

js
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