Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
La méthode handler.set() est une trappe permettant d'intercepter les opérations visant à définir ou modifier la valeur d'une propriété.
Les paramètres suivants sont passés à la méthode set. this est lié au gestionnaire.
cibleL'objet cible.
propriétéLe nom ou le symbole (Symbol) de la propriété à définir.
valeurLa nouvelle valeur à définir pour la propriété.
récepteurL'objet intialement visé par l'affectation. Généralement ce sera le proxy lui-même. Le gestionnaire set peut également être appelé indirectement, via la chaîne de prototypes ou d'autres façons. Par exemple, si on exécute l'instruction obj.nom = "Jean", et qu'obj n'est pas un proxy ni ne possède de propriété nom mais s'il possède un proxy dans sa chaîne de prototypes, le gestionnaire set sera appelé et obj sera passé en tant que récepteur.
La méthode set doit renvoyer une valeur booléenne. Elle renvoie true pour indiquer que l'affectation a réussi. Si la méthode set renvoie false et que l'affectation était exécutée dans du code en mode strict, une exception TypeError sera levée.
La méthode handler.set est une trappe qui permet d'intercepter les opérations qui sont utilisées pour définir ou modifier la valeur d'une propriété.
Cette trappe permet d'intercepter les opérations suivantes :
Si les invariants suivants ne sont pas respectés, le proxy renverra une exception TypeError :
Dans l'exemple qui suit, on intercepte la définition d'une nouvelle propriété.
| ECMAScript® 2027 Language Specification # sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 17 févr. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.