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() |