Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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() ähnelt der Eigenschafts-Accessor Syntax, funktioniert jedoch als Funktion.

Probieren Sie es aus

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"

Syntax

js
Reflect.get(target, propertyKey)
Reflect.get(target, propertyKey, receiver)

Parameter

target

Das Zielobjekt, bei dem die Eigenschaft abgerufen werden soll.

propertyKey

Der Name der Eigenschaft, die abgerufen werden soll.

receiver Optional

Der Wert von this, der für den 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 Eigenschaftszugriffs. Das heißt, Reflect.get(target, propertyKey, receiver) ist semantisch äquivalent zu:

js
target[propertyKey];

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

Reflect.get() ruft die [[Get]] interne Objektroutine 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

Spezifikation
ECMAScript® 2026 Language Specification
# sec-reflect.get

Browser-Kompatibilität

Siehe auch