Baseline Widely available
Die statische Methode Reflect.ownKeys()
gibt ein Array der eigenen Eigenschaften-Schlüssel des target
Objekts zurück.
const object = {
property1: 42,
property2: 13,
};
const array = [];
console.log(Reflect.ownKeys(object));
// Expected output: Array ["property1", "property2"]
console.log(Reflect.ownKeys(array));
// Expected output: Array ["length"]
Syntax Parameter
target
Das Zielobjekt, von dem die eigenen Schlüssel abgerufen werden sollen.
Ein Array
der eigenen Eigenschaften-Schlüssel des target
Objekts, einschlieÃlich Zeichenketten und Symbole. Für die meisten Objekte wird das Array in folgender Reihenfolge sein:
TypeError
Wird ausgelöst, wenn target
kein Objekt ist.
Reflect.ownKeys()
bietet die reflektierende Semantik zum Abrufen aller Eigenschaften-Schlüssel eines Objekts. Es ist der einzige Weg, um alle eigenen Eigenschaften â aufzählbar und nicht aufzählbar, Zeichenketten und Symbole â in einem Aufruf zu erhalten, ohne zusätzliche Filterlogik. Zum Beispiel nimmt Object.getOwnPropertyNames()
den Rückgabewert von Reflect.ownKeys()
und filtert nur zu Zeichenkettenwerten, während Object.getOwnPropertySymbols()
nur zu Symbolwerten filtert. Da normale Objekte [[OwnPropertyKeys]]
implementieren, um alle Zeichenkettenschlüssel vor Symbolschlüsseln zurückzugeben, ist Reflect.ownKeys(target)
normalerweise gleichbedeutend mit Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))
. Wenn das Objekt jedoch eine benutzerdefinierte [[OwnPropertyKeys]]
-Methode hat (wie zum Beispiel durch den ownKeys
Handler eines Proxys), kann die Reihenfolge der Schlüssel unterschiedlich sein.
Reflect.ownKeys()
ruft die [[OwnPropertyKeys]]
Objektinterne Methode von target
auf.
Reflect.ownKeys({ z: 3, y: 2, x: 1 }); // [ "z", "y", "x" ]
Reflect.ownKeys([]); // ["length"]
const sym = Symbol.for("comet");
const sym2 = Symbol.for("meteor");
const obj = {
[sym]: 0,
str: 0,
773: 0,
0: 0,
[sym2]: 0,
"-1": 0,
8: 0,
"second str": 0,
};
Reflect.ownKeys(obj);
// [ "0", "8", "773", "str", "-1", "second str", Symbol(comet), Symbol(meteor) ]
// Indexes in numeric order,
// strings in insertion order,
// symbols in insertion order
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4