La méthode statique Reflect
.apply()
permet d'appeler une fonction cible avec des arguments donnés.
Syntaxe
Reflect.apply(cible, argumentThis, listeArguments)
Paramètres
cible
- La fonction cible à appeler.
argumentThis
- La valeur fournie pour
this
lors de l'appel àcible
. listeArguments
- Un objet semblable à un tableau qui définit les arguments à passer à
cible
. S'il vautnull
ouundefined
, aucun argument ne sera passé.
Valeur de retour
Le résultat de l'appel de la fonction cible indiquée avec la valeur this
et les arguments indiqués.
Exceptions levées
Une exception TypeError
, si cible ne peut pas être appelée.
Description
Avec ES5, on utilise généralement Function.prototype.apply()
pour appeler une fonction avec une valeur this
donnée et des arguments donnés.
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
Reflect.apply
permet de rendre cela plus concis et facile à comprendre.
Exemples
Utiliser 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, "poneys", [3]); // "e"
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Reflect.apply' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Reflect.apply' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 49 | 42 (42) | Pas de support | Pas de support | Pas de support |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | Pas de support | 42.0 (42) | Pas de support | Pas de support | Pas de support |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight,
dcamilleri
Dernière mise à jour par :
SphinxKnight,