Object.getOwnPropertySymbols()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

Exemple interactif

const object1 = {};
const a = Symbol("a");
const b = Symbol.for("b");

object1[a] = "localSymbol";
object1[b] = "globalSymbol";

const objectSymbols = Object.getOwnPropertySymbols(object1);

console.log(objectSymbols.length);
// Expected output: 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'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

js
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

Specification
ECMAScript® 2025 Language Specification
# sec-object.getownpropertysymbols

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
getOwnPropertySymbols

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi