GeezerVison is showing developer.mozilla.org — Reflect.get() - JavaScript | MDN
Reflect.get()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2016 browserübergreifend verfügbar.
Die statische Methode Reflect.get() funktioniert wie die Syntax für den Eigenschaftszugriff, ist jedoch eine Funktion.
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"
js Reflect.get(target, propertyKey)
Reflect.get(target, propertyKey, receiver)
target
-
Das Zielobjekt, dessen Eigenschaft abgerufen werden soll.
propertyKey
-
Der Name der abzurufenden Eigenschaft.
receiver Optional
-
Der Wert von this, der beim Aufruf für target bereitgestellt wird, wenn ein Getter aufgerufen wird. Standardmäßig ist dies target.
Der Wert der Eigenschaft.
TypeError
-
Wird ausgelöst, wenn target kein Objekt ist.
Reflect.get() stellt die reflektive Semantik eines Eigenschaftszugriffs bereit. Das heißt, Reflect.get(target, propertyKey, receiver) ist semantisch äquivalent zu:
Beachten Sie, dass bei einem normalen Eigenschaftszugriff target und receiver dasselbe Objekt wären.
Reflect.get() ruft die objektinterne Methode [[Get]] von target auf.
js // 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"
|