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 Latest Draft (ECMA-262)
The definition of 'Proxy Revocation Functions' in that specification.
Draft  

Compatibilità tra Browser

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 34IE No support NoOpera Full support YesSafari Full support 10WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 34Opera Android Full support YesSafari iOS Full support 10Samsung Internet Android Full support Yesnodejs Full support 6.0.0

Legend

Full support  
Full support
No support  
No support

Vedi anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: jfet97
Ultima modifica di: jfet97,