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

Vedi anche