← 返回首页
Reflect.get() - JavaScript | MDN

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 Reflect.get() statische Methode ähnelt der Property-Accessor Syntax, ist jedoch als Funktion implementiert.

In diesem Artikel

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, 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, falls ein Getter aufgerufen wird. Standardmäßig ist dies target.

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 bedeutet, Reflect.get(target, propertyKey, receiver) ist semantisch äquivalent zu:

js
target[propertyKey];

Beachten Sie, dass bei einem normalen Property-Zugriff target und receiver beobachtbar dasselbe Objekt wären.

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

Browser-Kompatibilität

JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.

Siehe auch