MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-survey

L'objet gestionnaire d'un proxy est un objet qui contient les trappes de captures (traps) pour le  proxy.

Méthodes

Toutes ces trappes sont optionnelles. Si une trappe n'a pas été définie, le comportement par défaut sera de transmettre l'opération à la cible.

handler.getPrototypeOf()
Une trappe pour Object.getPrototypeOf.
handler.setPrototypeOf()
Une trappe pour Object.setPrototypeOf.
handler.isExtensible()
Une trappe pour Object.isExtensible.
handler.preventExtensions()
Une trappe pour Object.preventExtensions.
handler.getOwnPropertyDescriptor()
Une trappe pour Object.getOwnPropertyDescriptor.
handler.defineProperty()
Une trappe pour Object.defineProperty.
handler.has()
Une trappe pour l'opérateur in.
handler.get()
Une trappe pour l'accès aux valeurs des propriétés.
handler.set()
Une trappe pour la définition des valeurs des propriétés.
handler.deleteProperty()
Une trappe pour l'opérateur delete.
handler.ownKeys()
Une trappe pour Object.getOwnPropertyNames et Object.getOwnPropertySymbols.
handler.apply()
Une trappe pour l'appel d'une fonction.
handler.construct()
Une trappe pour l'opérateur new.

Certaines trappes non-standards sont désormais obsolètes et ont été supprimées.

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Proxy Object Internal Methods and Internal Slots' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de 'Proxy Object Internal Methods and Internal Slots' dans cette spécification.
Standard évolutif La trappe pour enumerate a été retirée.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
apply491218 Non3610
construct491218 Non3610
defineProperty491218 Non3610
deleteProperty491218 Non3610
enumerate Non Non37 — 47 Non Non Non
get491218 Non3610
getOwnPropertyDescriptor491218 Non3610
getPrototypeOf Non Non49 Non Non Non
has491218 Non3610
isExtensible ? ?31 Non ? ?
ownKeys4912181 Non3610
preventExtensions491222 Non3610
set491218 Non3610
setPrototypeOf ? ?49 Non ? ?
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
apply4949 Oui18 Non3610
construct4949 Oui18 Non3610
defineProperty4949 Oui18 Non3610
deleteProperty4949 Oui18 Non3610
enumerate Non Non Non37 — 47 Non Non Non
get4949 Oui18 Non3610
getOwnPropertyDescriptor4949 Oui18 Non3610
getPrototypeOf Non Non Non49 Non Non Non
has4949 Oui18 Non3610
isExtensible ? ? ?31 Non ? ?
ownKeys4949 Oui181 Non3610
preventExtensions4949 Oui22 Non3610
set4949 Oui18 Non3610
setPrototypeOf ? ? ?49 Non ? ?

1. In Firefox 42, the implementation got updated to reflect the final ES2015 specification: The result is now checked if it is an array and if the array elements are either of type string or of type symbol. Enumerating duplicate own property names is not a failure anymore.

Voir aussi

Étiquettes et contributeurs liés au document

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