Référence Reflect & Proxy


Référence complète de Reflect

Révisée en décembre 2025

Méthode Description
Reflect.apply() Appeler une fonction
Reflect.construct() Créer un objet (comme avec new)
Reflect.defineProperty() Définir une propriété
Reflect.deleteProperty() Supprimer une propriété
Reflect.get() Obtenir une propriété
Reflect.getOwnPropertyDescriptor() Obtenir le descripteur de propriété
Reflect.getPrototypeOf() Obtenir le prototype d'un objet
Reflect.has() Vérifier si la propriété existe
Reflect.isExtensible() Vérifier si l'objet peut être étendu
Reflect.ownKeys() Obtenir toutes les clés (y compris les symboles)
Reflect.preventExtensions() Empêcher l'objet de s'étendre
Reflect.set() Définir une propriété
Reflect.setPrototypeOf() Définir le prototype d'un objet

Pourquoi Reflect

Reflect est sûr et flexible, surtout lorsqu'il est utilisé à l'intérieur d'un Proxy.

Référence complète du gestionnaire Proxy

Révisée en décembre 2025

Méthode Description
handler.apply() Appeler une fonction
handler.construct() Créer un objet (comme avec new)
handler.defineProperty() Définir une propriété
handler.deleteProperty() Supprimer une propriété
handler.get() Obtenir une propriété
handler.getOwnPropertyDescriptor() Obtenir le descripteur de propriété
handler.getPrototypeOf() Obtenir le prototype d'un objet
handler.has() Vérifier si la propriété existe
handler.isExtensible() Vérifier si l'objet peut être étendu
handler.ownKeys() Obtenir toutes les clés (y compris les symboles)
handler.preventExtensions() Empêcher l'objet de s'étendre
handler.set() Définir une propriété
handler.setPrototypeOf() Définir le prototype d'un objet

Méthodes internes de JavaScript

Tous les objets JavaScript possèdent 13 méthodes internes.

Chaque méthode a un piège Proxy correspondant :

Opération interne Piège Proxy
[[Construct]] construct()
[[Call]] apply()
[[Get]] get()
[[Set]] set()
[[HasProperty]] has()
[[Delete]] deleteProperty()
[[DefineProperty]] defineProperty()
[[GetOwnProperty]] getOwnProperty()
[[OwnPropertyKeys]] ownPropertyKeys()
[[IsExtensible]] isExtensible()
[[PreventExtensions]] preventExtensions()
[[GetPrototypeOf]] getPrototypeOf()
[[SetPrototypeOf]] setPrototypeOf()

Remarque

Chaque piège Proxy a une méthode Reflect avec le même nom et la même signature.

Opération interne Méthode Reflect
[[Construct]] Reflect.construct()
[[Call]] Reflect.apply()
[[Get]] Reflect.get()
[[Set]] Reflect.set()
[[HasProperty]] Reflect.has()
[[Delete]] Reflect.deleteProperty()
[[DefineProperty]] Reflect.defineProperty()
[[GetOwnProperty]] Reflect.getOwnProperty()
[[OwnPropertyKeys]] Reflect.ownPropertyKeys()
[[IsExtensible]] Reflect.isExtensible()
[[PreventExtensions]] Reflect.preventExtensions()
[[GetPrototypeOf]] Reflect.getPrototypeOf()
[[SetPrototypeOf]] Reflect.setPrototypeOf()