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 funktioniert ähnlich wie die Eigenschafts-Accessor-Syntax, jedoch 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

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 this-Wert, der für den Aufruf an target bereitgestellt wird, falls 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 reflektive Semantik eines Eigenschaftsabrufs. Das bedeutet, Reflect.get(target, propertyKey, receiver) ist semantisch äquivalent zu:

js
target[propertyKey];

Beachten Sie, dass bei einem normalen Eigenschaftszugriff target und receiver offensichtlich dasselbe Objekt wären.

Reflect.get() ruft die [[Get]] interne Objektsmethode 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® 2025 Language Specification
# sec-reflect.get

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
get

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch