Object.getOwnPropertySymbols()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2015 browserübergreifend verfügbar.
Die statische Methode Object.getOwnPropertySymbols() gibt ein Array aller Symbol-Eigenschaften zurück, die direkt auf einem angegebenen Objekt vorhanden sind.
Probieren Sie es aus
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);
// Expected output: 2
Syntax
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 angegebenen Objekt vorhanden sind.
Beschreibung
Ähnlich wie bei Object.getOwnPropertyNames() können Sie alle Symbol-Eigenschaften eines angegebenen Objekts als Array von Symbolen abrufen. Beachten Sie, dass Object.getOwnPropertyNames() selbst nicht die Symbol-Eigenschaften eines Objekts zurückgibt, sondern nur dessen String-Eigenschaften.
Da Objekte anfangs keine eigenen Symbol-Eigenschaften haben, gibt Object.getOwnPropertySymbols() ein leeres Array zurück, sofern Sie Ihrem Objekt keine Symbol-Eigenschaften hinzugefügt haben.
Beispiele
>Object.getOwnPropertySymbols() verwenden
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
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.getownpropertysymbols> |