Proxy.revocable()
Метод Proxy.revocable()
используется, чтобы создать отменяемый Proxy
объект.
Синтаксис
Proxy.revocable(target, handler);
Параметры
{{ Page("/docs/Web/JavaScript/Reference/Global_Objects/Proxy", "Parameters") }}
Возвращаемое значение
Создаётся и возвращается отменяемый Proxy
объект.
Описание
Отменяемый Proxy
- объект со следующими двумя свойствами {proxy: proxy, revoke: revoke}
.
proxy
- Объект
Proxy
, созданный с помощью вызоваnew Proxy(target, handler)
. revoke
- Функция, не принимающая аргументов, которая сделает недействительным (выключит)
proxy
.
Если вызовется функция revoke()
, proxy
становится неиспользуемым: Любой proxy
-перехватчик событий объекта будет вызывать исключение 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-перехватчиков событий
Спецификации
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Proxy Revocation Functions' в этой спецификации. |
Стандарт | Изначальное определение. |
ECMAScript (ECMA-262) Определение 'Proxy Revocation Functions' в этой спецификации. |
Живой стандарт |
Совместимость браузерами
BCD tables only load in the browser