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.apply()

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.apply() ruft eine Zielfunktion mit den angegebenen Argumenten auf.

Probieren Sie es aus

console.log(Reflect.apply(Math.floor, undefined, [1.75]));
// Expected output: 1

console.log(
  Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111]),
);
// Expected output: "hello"

console.log(
  Reflect.apply(RegExp.prototype.exec, /ab/, ["confabulation"]).index,
);
// Expected output: 4

console.log(Reflect.apply("".charAt, "ponies", [3]));
// Expected output: "i"

Syntax

js
Reflect.apply(target, thisArgument, argumentsList)

Parameter

target

Die Zielfunktion, die aufgerufen werden soll.

thisArgument

Der Wert für this, der für den Aufruf an target übergeben wird.

argumentsList

Ein array-ähnliches Objekt, das die Argumente angibt, mit denen target aufgerufen werden soll.

Rückgabewert

Das Ergebnis des Aufrufs der angegebenen target-Funktion mit dem angegebenen this-Wert und den Argumenten.

Ausnahmen

TypeError

Wird ausgelöst, wenn target keine Funktion ist oder argumentsList kein Objekt ist.

Beschreibung

Reflect.apply() bietet die reflexive Semantik eines Funktionsaufrufs. Das heißt, Reflect.apply(target, thisArgument, argumentsList) ist semantisch äquivalent zu:

js
Math.floor.apply(null, [1.75]);
Reflect.apply(Math.floor, null, [1.75]);

Die einzigen Unterschiede sind:

  • Reflect.apply() nimmt die aufzurufende Funktion als target-Parameter anstelle des this-Kontexts.
  • Reflect.apply() wirft einen Fehler, wenn argumentsList weggelassen wird, anstatt standardmäßig ohne Parameter aufzurufen.

Reflect.apply() ruft die [[Call]] interne Methode des Objekts von target auf.

Beispiele

Verwenden von Reflect.apply()

js
Reflect.apply(Math.floor, undefined, [1.75]);
// 1;

Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111]);
// "hello"

Reflect.apply(RegExp.prototype.exec, /ab/, ["confabulation"]).index;
// 4

Reflect.apply("".charAt, "ponies", [3]);
// "i"

Spezifikationen

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

Browser-Kompatibilität

Siehe auch