Reflect

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.

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, avec quelques différences, à celles d'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

Specification
ECMAScript® 2025 Language Specification
# sec-reflect-object

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Reflect
apply
construct
defineProperty
deleteProperty
get
getOwnPropertyDescriptor
getPrototypeOf
has
isExtensible
ownKeys
preventExtensions
set
setPrototypeOf

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi