Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 MethodeReflect.apply() ruft eine Zielfunktion mit den angegebenen Argumenten auf.
In diesem Artikel
Probieren Sie es aus
console.log(Reflect.apply(Math.floor, undefined, [1.75]));// Expected output: 1console.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: 4console.log(Reflect.apply("".charAt, "ponies", [3]));// Expected output: "i"Syntax
Reflect.apply(target, thisArgument, argumentsList)Parameter
targetDie Zielfunktion, die aufgerufen werden soll.
thisArgumentDer Wert für
this, der für den Aufruf antargetübergeben wird.argumentsListEinarray-ähnliches Objekt, das die Argumente angibt, mit denen
targetaufgerufen werden soll.
Rückgabewert
Das Ergebnis des Aufrufs der angegebenentarget-Funktion mit dem angegebenenthis-Wert und den Argumenten.
Ausnahmen
TypeErrorWird ausgelöst, wenn
targetkeine Funktion ist oderargumentsListkein Objekt ist.
Beschreibung
Reflect.apply() bietet die reflexive 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()wirft einen Fehler, wennargumentsListweggelassen wird, anstatt standardmäßig ohne Parameter aufzurufen.
Reflect.apply() ruft die[[Call]]interne Methode des Objekts vontarget auf.
Beispiele
>Verwenden 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;// 4Reflect.apply("".charAt, "ponies", [3]);// "i"Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-reflect.apply> |