Baseline Widely available
Die statische Methode Reflect.apply()
ruft eine Zielfunktion mit den angegebenen Argumenten auf.
console.log(Reflect.apply(Math.floor, undefined, [1.75]));
// Expected output: 1
console.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: 4
console.log(Reflect.apply("".charAt, "ponies", [3]));
// Expected output: "i"
Syntax
Reflect.apply(target, thisArgument, argumentsList)
Parameter
target
Die Zielfunktion, die aufgerufen werden soll.
thisArgument
Der Wert für this
, der für den Aufruf an target
übergeben wird.
argumentsList
Ein array-ähnliches Objekt, das die Argumente angibt, mit denen target
aufgerufen werden soll.
Das Ergebnis des Aufrufs der angegebenen target
-Funktion mit dem angegebenen this
-Wert und den Argumenten.
TypeError
Wird ausgelöst, wenn target
keine Funktion ist oder argumentsList
kein Objekt ist.
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 als target
-Parameter anstelle des this
-Kontexts.Reflect.apply()
wirft einen Fehler, wenn argumentsList
weggelassen wird, anstatt standardmäÃig ohne Parameter aufzurufen.Reflect.apply()
ruft die [[Call]]
interne Methode des Objekts von target
auf.
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 Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4