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.
Projet La trappe pour enumerate a été retirée.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
applyChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
constructChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
definePropertyChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
deletePropertyChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
enumerate
ObsolèteNon-standard
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support 37 — 47IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Aucun support 37 — 47Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
getChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
getOwnPropertyDescriptorChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
getPrototypeOfChrome Aucun support NonEdge Aucun support NonFirefox Support complet 49IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonEdge Mobile Aucun support NonFirefox Android Support complet 49Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Support complet 6.0.0
hasChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
isExtensibleChrome ? Edge ? Firefox Support complet 31IE Aucun support NonOpera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 31Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Support complet 6.0.0
ownKeysChrome Support complet 49Edge Support complet 12Firefox Support complet 18
Notes
Support complet 18
Notes
Notes 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.
IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18
Notes
Support complet 18
Notes
Notes 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.
Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
preventExtensionsChrome Support complet 49Edge Support complet 12Firefox Support complet 22IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 22Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
setChrome Support complet 49Edge Support complet 12Firefox Support complet 18IE Aucun support NonOpera Support complet 36Safari Support complet 10WebView Android Support complet 49Chrome Android Support complet 49Edge Mobile Support complet OuiFirefox Android Support complet 18Opera Android Support complet 36Safari iOS Support complet 10Samsung Internet Android Support complet 5.0nodejs Support complet 6.0.0
setPrototypeOfChrome ? Edge ? Firefox Support complet 49IE Aucun support NonOpera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Support complet 49Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Support complet 6.0.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Voir aussi

Étiquettes et contributeurs liés au document

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