--- title: Reflect.apply() slug: Web/JavaScript/Reference/Global_Objects/Reflect/apply translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/apply ---
Reflect
.apply()
ruft eine Zielfunktion mit den spezifizierten Parametern auf.Reflect.apply(target, thisParameter, listeDerArgumente)
this
der für den Aufruf bereitgestellt wird.Das Resultat des Aufruft, der Zielfunktion mit dem mitgegebenen this
und den mitgegebenen Parametern.
Es wird ein {{jsxref("TypeError")}} geworfen, wenn die Zielfunktion nicht aufrufbar ist.
In ES5, ruft man typischerweise {{jsxref("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.
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"
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('ES2015', '#sec-reflect.apply', 'Reflect.apply')}} | {{Spec2('ES2015')}} | Ursprüngliche Definition. |
{{SpecName('ESDraft', '#sec-reflect.apply', 'Reflect.apply')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Reflect.apply")}}