La méthode Proxy.revocable()
est utilisée afin de créer un objet Proxy
révocable.
Syntaxe
Proxy.revocable(cible, gestionnaire);
Paramètres
cible
- Un objet cible (qui peut être n'importe quel objet, y compris un tableau, une fonction ou voire même un autre proxy) ou une fonction qu'on souhaite envelopper dans un
Proxy
. gestionnaire
- Un objet dont les propriétés sont des fonctions qui définissent le comportement du proxy lorsqu'on utilise une opération sur celui-ci.
Valeur de retour
Un nouvel objet Proxy
révocable est renvoyé par la méthode.
Description
Un Proxy
révocable est un objet qui possède les propriétés suivantes : {proxy: proxy, revoke: revoke}
.
proxy
- Un proxy crée avec un appel à
new Proxy(cible, gestionnaire)
. revoke
- Une fonction sans argument qui permet de désactiver le proxy.
Si la fonction revoke()
est appelée, le proxy devient inutilisable et toutes les trappes définies via un gestionnaire lèveront une exception 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.
Exemples
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écifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Proxy Revocation Functions' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Proxy Revocation Functions' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | 34 (34) | Pas de support | Pas de support | Pas de support |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | Pas de support | 34 (34) | Pas de support | Pas de support | Pas de support |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,