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()
ist wie die Property-Accessor-Syntax, aber als Funktion.
Probieren Sie es aus
const object1 = {
x: 1,
y: 2,
};
console.log(Reflect.get(object1, "x"));
// Expected output: 1
const array1 = ["zero", "one"];
console.log(Reflect.get(array1, 1));
// Expected output: "one"
Syntax
Reflect.get(target, propertyKey)
Reflect.get(target, propertyKey, receiver)
Parameter
target
-
Das Zielobjekt, von dem die Eigenschaft abgerufen werden soll.
propertyKey
-
Der Name der abzurufenden Eigenschaft.
receiver
Optional-
Der Wert von
this
, der beim 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 Property-Zugriffs. Das heißt, Reflect.get(target, propertyKey, receiver)
ist semantisch gleichwertig mit:
target[propertyKey];
Beachten Sie, dass bei einem normalen Property-Zugriff target
und receiver
beobachtbar dasselbe Objekt wären.
Reflect.get()
ruft die [[Get]]
interne Objektmethode 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 |