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 September 2015.

Die statische Methode Object.getOwnPropertySymbols() gibt ein Array aller Symbol-Eigenschaften zurück, die direkt auf einem gegebenen Objekt gefunden werden.

Probieren Sie es aus

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

Syntax

js
Object.getOwnPropertySymbols(obj)

Parameter

obj

Das Objekt, dessen Symbol-Eigenschaften zurückgegeben werden sollen.

Rückgabewert

Ein Array aller Symbol-Eigenschaften, die direkt auf dem gegebenen Objekt gefunden werden.

Beschreibung

Ähnlich wie bei Object.getOwnPropertyNames() können Sie alle Symbol-Eigenschaften eines gegebenen Objekts als ein Array von Symbolen erhalten. Beachten Sie, dass Object.getOwnPropertyNames() selbst nicht die Symbol-Eigenschaften eines Objekts enthält, sondern nur die String-Eigenschaften.

Da alle Objekte anfangs keine eigenen Symbol-Eigenschaften haben, gibt Object.getOwnPropertySymbols() ein leeres Array zurück, es sei denn, Sie haben Symbol-Eigenschaften auf Ihrem Objekt gesetzt.

Beispiele

Verwendung von 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)

Spezifikationen

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

Browser-Kompatibilität

Siehe auch