--- title: Proxy.revocable() slug: Web/JavaScript/Reference/Global_Objects/Proxy/revocable tags: - ECMAScript 2015 - JavaScript - Méthode - Proxy - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/revocable original_slug: Web/JavaScript/Reference/Objets_globaux/Proxy/revocable ---
La méthode Proxy.revocable() est utilisée afin de créer un objet {{jsxref("Proxy")}} révocable.
Proxy.revocable(cible, gestionnaire);
Un nouvel objet Proxy révocable est renvoyé par la méthode.
Un Proxy révocable est un objet qui possède les propriétés suivantes : {proxy: proxy, revoke: revoke}.
proxynew Proxy(cible, gestionnaire).revokeSi la fonction revoke() est appelée, le proxy devient inutilisable et toutes les trappes définies via un gestionnaire lèveront une exception {{jsxref("TypeError")}}. Une fois que le proxy est révoqué, il conserve cet état et peut être traité par le ramasse-miettes. D'éventuels appels suivants à revoke() n'auront aucun effet.
var révocable = Proxy.revocable({}, {
get: function(cible, nom) {
return "[[" + nom + "]]";
}
});
var proxy = révocable.proxy;
console.log(proxy.toto); // "[[toto]]"
révocable.revoke();
console.log(proxy.toto); // TypeError est levée
proxy.toto = 1 // TypeError à nouveau
delete proxy.toto // TypeError toujours
typeof proxy // "object", typeof ne déclenche aucune trappe
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('ES2015', '#sec-proxy.revocable', 'Proxy Revocation Functions')}} | {{Spec2('ES2015')}} | Définition initiale. |
| {{SpecName('ESDraft', '#sec-proxy.revocable', 'Proxy Revocation Functions')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Proxy.revocable")}}