Reflect.apply()
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.apply()
ruft eine Ziel-Funktion 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
Reflect.apply(target, thisArgument, argumentsList)
Parameter
target
-
Die Ziel-Funktion, die aufgerufen werden soll.
thisArgument
-
Der Wert von
this
, der beim Aufruf vontarget
bereitgestellt 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 spezifizierten this
-Wert und den Argumenten.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
target
keine Funktion ist oderargumentsList
kein Objekt ist.
Beschreibung
Reflect.apply()
bietet die reflexive Semantik eines Funktionsaufrufs. Das bedeutet, Reflect.apply(target, thisArgument, argumentsList)
ist semantisch äquivalent zu:
Math.floor.apply(null, [1.75]);
Reflect.apply(Math.floor, null, [1.75]);
Die einzigen Unterschiede sind:
Reflect.apply()
verwendet die Funktion, die aufgerufen werden soll, als Parametertarget
anstelle desthis
-Kontexts.Reflect.apply()
löst einen Fehler aus, wennargumentsList
weggelassen wird, anstatt standardmäßig ohne Parameter aufzurufen.
Reflect.apply()
ruft die [[Call]]
-interne Objektmethode von target
auf.
Beispiele
Verwendung von Reflect.apply()
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
Specification |
---|
ECMAScript® 2025 Language Specification # sec-reflect.apply |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apply |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support