A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set below:

Reflect.set() - JavaScript | MDN

Reflect.set()

Baseline Widely available

Die Reflect.set()-statische Methode funktioniert ähnlich wie die Eigenschafts-Accessor und Zuweisungs-Syntax, jedoch als Funktion.

Probieren Sie es aus
const object = {};
Reflect.set(object, "foo", 42);

console.log(object.foo);
// Expected output: 42

const array = ["duck", "duck", "duck"];
Reflect.set(array, 2, "goose");

console.log(array[2]);
// Expected output: "goose"
Syntax
Reflect.set(target, propertyKey, value)
Reflect.set(target, propertyKey, value, receiver)
Parameter
target

Das Zielobjekt, auf dem die Eigenschaft gesetzt werden soll.

propertyKey

Der Name der zu setzenden Eigenschaft.

value

Der zu setzende Wert.

receiver Optional

Der Wert von this, der beim Aufruf des Setters für propertyKey auf target bereitgestellt wird. Falls angegeben und target keinen Setter für propertyKey hat, wird die Eigenschaft stattdessen auf receiver gesetzt.

Rückgabewert

Ein Boolean, das angibt, ob das Setzen der Eigenschaft erfolgreich war oder nicht.

Ausnahmen
TypeError

Wird ausgelöst, wenn target kein Objekt ist.

Beschreibung

Reflect.set() bietet die reflektierende Semantik eines Eigenschaftszugriffs. Das heißt, Reflect.set(target, propertyKey, value, receiver) entspricht semantisch:

target[propertyKey] = value;

Beachten Sie, dass bei einem normalen Eigenschaftszugriff target und receiver für gewöhnlich dasselbe Objekt sind.

Reflect.set() ruft die [[Set]] interne Objektmethode von target auf.

Beispiele Nutzung von Reflect.set()
// Object
const obj = {};
Reflect.set(obj, "prop", "value"); // true
obj.prop; // "value"

// Array
const arr = ["duck", "duck", "duck"];
Reflect.set(arr, 2, "goose"); // true
arr[2]; // "goose"

// It can truncate an array.
Reflect.set(arr, "length", 1); // true
arr; // ["duck"]

// With just one argument, propertyKey and value are "undefined".
Reflect.set(obj); // true
Reflect.getOwnPropertyDescriptor(obj, "undefined");
// { value: undefined, writable: true, enumerable: true, configurable: true }
Unterschiedliches Ziel und Empfänger

Wenn target und receiver unterschiedlich sind, verwendet Reflect.set den Eigenschaftsdeskriptor von target (um den Setter zu finden oder zu bestimmen, ob die Eigenschaft schreibbar ist), setzt jedoch die Eigenschaft auf receiver.

const target = {};
const receiver = {};
Reflect.set(target, "a", 2, receiver); // true
// target is {}; receiver is { a: 2 }

const target = { a: 1 };
const receiver = {};
Reflect.set(target, "a", 2, receiver); // true
// target is { a: 1 }; receiver is { a: 2 }

const target = {
  set a(v) {
    this.b = v;
  },
};
const receiver = {};
Reflect.set(target, "a", 2, receiver); // true
// target is { a: [Setter] }; receiver is { b: 2 }
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4