Proxy.revocable()
Il metodo Proxy.revocable()
è usato per creare un oggetto Proxy
revocabile.
Sintassi
Proxy.revocable(target, handler);
Parametri
target
- Un oggetto target che il Proxy ingloberà. Può essere un qualsiasi tipo di oggetto, array nativi inclusi, funzioni o anche altri Proxy.
handler
- Un oggetto le cui proprietà sono funzioni che definiscono i comportamenti del proxy quando un'operazione viene effettuata su di esso.
Valore restituito
Un nuovo oggetto Proxy
revocabile.
Descrizione
Un Proxy
revocabile è un oggetto con le seguenti due proprietà {proxy: proxy, revoke: revoke}
.
proxy
- L'oggetto Proxy creato con
new Proxy(target, handler)
. revoke
- Una funzione che non richiede argomenti per disattivare il
proxy
.
Se la funzione revoke()
viene invocata, il proxy diventa inutilizzabile: se si tenta di farne uso si otterrà un TypeError
. Una volta che il proxy è revocato rimarrà in questo stato e potrà essere eliminato dal garbage collector. Successive invocazioni di revoke()
non avranno effetto.
Esempi
var revocable = Proxy.revocable({}, {
get: function(target, name) {
return "[[" + name + "]]";
}
});
var proxy = revocable.proxy;
console.log(proxy.foo); // "[[foo]]"
revocable.revoke();
console.log(proxy.foo); // viene sollevato un TypeError
proxy.foo = 1 // viene sollevato un TypeError
delete proxy.foo; // viene sollevato un TypeError
typeof proxy // "object", typeof non innesca nessuna trappola
Specifiche
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Proxy Revocation Functions' in that specification. |
Standard | Definizione iniziale. |
ECMAScript (ECMA-262) The definition of 'Proxy Revocation Functions' in that specification. |
Living Standard |
Compatibilità tra Browser
BCD tables only load in the browser