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
Syntax
Reflect.apply(target, thisArgument, argumentsList)
Parameter
target
-
Die Ziel-Funktion, die aufgerufen werden soll.
thisArgument
-
Der Wert von
this
, der für den 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 reflektierende Semantik eines Funktionsaufrufs. Das heißt, 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()
nimmt die aufzurufende Funktion alstarget
-Parameter anstelle desthis
-Kontexts.Reflect.apply()
löst eine Ausnahme aus, wennargumentsList
ausgelassen wird, anstatt standardmäßig ohne Parameter aufzurufen.
Reflect.apply()
ruft die [[Call]]
interne Methode eines Objekts des 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 Language Specification # sec-reflect.apply |
Browser-Kompatibilität
BCD tables only load in the browser