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

js
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 von target 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:

js
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()

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"

Spezifikationen

Specification
ECMAScript Language Specification
# sec-reflect.get

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch