--- title: Proxy.revocable() slug: Web/JavaScript/Reference/Global_Objects/Proxy/revocable tags: - ECMAScript 2015 - JavaScript - Proxy - метод translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/revocable ---
Метод Proxy.revocable() используется, чтобы создать отменяемый {{jsxref("Proxy")}} объект.
Proxy.revocable(target, handler);
Создаётся и возвращается отменяемый Proxy объект.
Отменяемый Proxy - объект со следующими двумя свойствами {proxy: proxy, revoke: revoke}.
proxyProxy, созданный с помощью вызова new Proxy(target, handler).revokeproxy.Если вызовется функция revoke(), proxy становится неиспользуемым: Любой proxy-перехватчик событий объекта будет вызывать исключение {{jsxref("TypeError")}}. Как только proxy отменена, она останется отменённой и дальше, и может быть собрана сборщиком мусора. Повторный вызов revoke() не будет иметь никакого эффекта.
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); // Вызвано исключение TypeError
proxy.foo = 1 // TypeError снова
delete proxy.foo; // Всё ещё TypeError
typeof proxy // "object", typeof не вызывает никаких proxy-перехватчиков событий
{{Compat}}