Reflect.apply()

Sie lesen die englische Version dieses Inhalts, da für dieses Gebietsschema noch keine Übersetzung vorhanden ist. Helfen Sie uns, diesen Artikel zu übersetzen!

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 Latest Draft (ECMA-262)
Die Definition von 'Reflect.apply' in dieser Spezifikation.
Entwurf  

Browser kompabilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
applyChrome Vollständige Unterstützung 49Edge Vollständige Unterstützung 12Firefox Vollständige Unterstützung 42IE Keine Unterstützung NeinOpera Vollständige Unterstützung 36Safari Vollständige Unterstützung 10WebView Android Vollständige Unterstützung 49Chrome Android Vollständige Unterstützung 49Firefox Android Vollständige Unterstützung 42Opera Android Vollständige Unterstützung 36Safari iOS Vollständige Unterstützung 10Samsung Internet Android Vollständige Unterstützung 5.0nodejs Vollständige Unterstützung 6.0.0

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung

Siehe auch