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

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 beim Aufruf von target 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:

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

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® 2026 Language Specification
# sec-reflect.get

Browser-Kompatibilität

Siehe auch