Reflect.get()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Die statische Methode Reflect.get()
ähnelt der Eigenschafts-Accessor Syntax, funktioniert jedoch als Funktion.
Probieren Sie es aus
const object = {
x: 1,
y: 2,
};
console.log(Reflect.get(object, "x"));
// Expected output: 1
const array = ["zero", "one"];
console.log(Reflect.get(array, 1));
// Expected output: "one"
Syntax
Reflect.get(target, propertyKey)
Reflect.get(target, propertyKey, receiver)
Parameter
target
-
Das Zielobjekt, bei dem die Eigenschaft abgerufen werden soll.
propertyKey
-
Der Name der Eigenschaft, die abgerufen werden soll.
receiver
Optional-
Der Wert von
this
, der für den Aufruf vontarget
bereitgestellt wird, wenn ein Getter aufgerufen wird.
Rückgabewert
Der Wert der Eigenschaft.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.get()
bietet die reflektierende Semantik eines Eigenschaftszugriffs. Das heißt, Reflect.get(target, propertyKey, receiver)
ist semantisch äquivalent zu:
target[propertyKey];
Beachten Sie, dass bei einem normalen Eigenschaftszugriff target
und receiver
in der Regel dasselbe Objekt wären.
Reflect.get()
ruft die [[Get]]
interne Objektroutine von target
auf.
Beispiele
Verwendung von Reflect.get()
// Object
const obj1 = { x: 1, y: 2 };
Reflect.get(obj1, "x"); // 1
// Array
Reflect.get(["zero", "one"], 1); // "one"
// Proxy with a get handler
const obj2 = new Proxy(
{ p: 1 },
{
get(t, k, r) {
return `${k}bar`;
},
},
);
Reflect.get(obj2, "foo"); // "foobar"
// Proxy with get handler and receiver
const obj3 = new Proxy(
{ p: 1, foo: 2 },
{
get(t, prop, receiver) {
return `${receiver[prop]}bar`;
},
},
);
Reflect.get(obj3, "foo", { foo: 3 }); // "3bar"
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-reflect.get |