Reflect est un objet natif qui fournit des méthodes pour les opérations qui peuvent être interceptées en JavaScript (via les proxies). Les méthodes de cet objet sont les mêmes que celles des gestionnaires de proxy. Reflect n'est pas une fonction (y compris pour construire un objet).

Description

Contrairement à la plupart des objets globaux, Reflect n'est pas un constructeur. Il ne peut pas être utilisé avec l'opérateur new ou être invoqué comme une fonction. Les propriétés et méthodes de Reflect sont statiques (comme pour celles de l'objet Math).

Méthodes

L'objet Reflect fournit des fonctions statiques qui ont les mêmes noms que les méthodes des gestionnaires de proxy et dont certaines correspondent à celles Object :

Reflect.apply()
Appelle une fonction cible avec les arguments définis par le paramètres args. Voir aussi Function.prototype.apply().
Reflect.construct()
 L'opérateur new comme fonction. C'est équivalent à new cible(...args). Cette méthode permet également d'indiquer un prototype différent.
Reflect.defineProperty()
Semblable à Object.defineProperty(). Renvoie un Boolean.
Reflect.deleteProperty()
L'opérateur delete comme fonction. C'est équivalent à delete cible[nom].
Reflect.get()
Une fonction qui renvoie la valeur d'une propriété.
Reflect.getOwnPropertyDescriptor()
Semblable à Object.getOwnPropertyDescriptor(). Renvoie un descripteur de propriété si la propriété existe sur l'objet, undefined sinon.
Reflect.getPrototypeOf()
Identique à Object.getPrototypeOf().
Reflect.has()
L'opérateur in comme fonction. Renvoie un booléen qui indique si une telle propriété existe pour l'objet (qu'elle soit directement rattachée ou héritée).
Reflect.isExtensible()
La même fonction que Object.isExtensible().
Reflect.ownKeys()
Renvoie un tableau de chaînes de caractères qui correspondent aux noms des propriétés propres (celles qui ne sont pas héritées) de l'objet.
Reflect.preventExtensions()
Semblable à Object.preventExtensions(). Renvoie un Boolean.
Reflect.set()
Une fonction qui affecte des valeurs à des propriétés. Renvoie un Boolean qui vaut true si la mise à jour a bien été effectuée.
Reflect.setPrototypeOf()
Une fonction qui permet de définir le prototype d'un objet.

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Reflect' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de 'Reflect' dans cette spécification.
Projet Retrait de Reflect.enumerate

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple491242 Non3610
apply491242 Non3610
construct491242 Non3610
defineProperty491242 Non3610
deleteProperty491242 Non3610
enumerate Non Oui — 15 Non Non Non Non
get491242 Non3610
getOwnPropertyDescriptor491242 Non3610
getPrototypeOf491242 Non3610
has491242 Non3610
isExtensible491242 Non3610
ownKeys491242 Non3610
preventExtensions491242 Non3610
set491242 Non3610
setPrototypeOf491242 Non3610
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple4949 Oui4236105.0
apply4949 Oui4236105.0
construct4949 Oui4236105.0
defineProperty4949 Oui4236105.0
deleteProperty4949 Oui4236105.0
enumerate Non Non Non Non Non Non Non
get4949 Oui4236105.0
getOwnPropertyDescriptor4949 Oui4236105.0
getPrototypeOf4949 Oui4236105.0
has4949 Oui4236105.0
isExtensible4949 Oui4236105.0
ownKeys4949 Oui4236105.0
preventExtensions4949 Oui4236105.0
set4949 Oui4236105.0
setPrototypeOf4949 Oui4236105.0

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, jlowcs
Dernière mise à jour par : SphinxKnight,