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 Reflect.get()
statische Methode ähnelt der Property Accessor Syntax, jedoch als Funktion.
Probieren Sie es aus
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 für den Aufruf vontarget
bereitgestellt wird, wenn auf einen Getter getroffen wird.
Rückgabewert
Der Wert der Eigenschaft.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
kein Objekt ist.
Beschreibung
Reflect.get()
bietet die reflexive Semantik eines Property-Zugriffs. Das heißt, Reflect.get(target, propertyKey, receiver)
ist semantisch äquivalent zu:
target[propertyKey];
Es ist zu beachten, 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 Language Specification # sec-reflect.get |
Browser-Kompatibilität
BCD tables only load in the browser