Reflect.apply()
Try it
Die statische Methode
Reflect
.apply()
ruft eine Zielfunktion mit den spezifizierten Parametern auf.Syntax
Reflect.apply(target, thisParameter, listeDerArgumente)
Parameter
- target
- Die Funktion, die aufgerufen werden soll.
- thisParameter
- Der Wert von
this
der für den Aufruf bereitgestellt wird. - listeDerArgumente
- Ein Array ähnliches Objekt welches die Parameter spezifiziert, mit denen die Zielfunktion aufgerufen wird.
Rückgabewert
Das Resultat des Aufruft, der Zielfunktion mit dem mitgegebenen this
und den mitgegebenen Parametern.
Ausnahmen
Es wird ein TypeError
geworfen, wenn die Zielfunktion nicht aufrufbar ist.
Beschreibung
In ES5, ruft man typischerweise Function.prototype.apply()
auf, um eine Funktion aufzurufen, der man einen bestimmten this
mitgeben und die Parameter als Array (oder einem array-like object) definieren möchte.
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
Durch Reflect.apply
wird dieses Vorhaben kürzer und ist leichter zu verstehen.
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
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Reflect.apply' in dieser Spezifikation. |
Standard | Ursprüngliche Definition. |
ECMAScript (ECMA-262) Die Definition von 'Reflect.apply' in dieser Spezifikation. |
Lebender Standard |
Browser kompabilität
BCD tables only load in the browser