From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../global_objects/proxy/revocable/index.html | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/proxy/revocable/index.html (limited to 'files/ru/web/javascript/reference/global_objects/proxy/revocable') diff --git a/files/ru/web/javascript/reference/global_objects/proxy/revocable/index.html b/files/ru/web/javascript/reference/global_objects/proxy/revocable/index.html new file mode 100644 index 0000000000..fbc4009f60 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/proxy/revocable/index.html @@ -0,0 +1,91 @@ +--- +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 +--- +
{{JSRef}}
+ +

Метод Proxy.revocable() используется, чтобы создать отменяемый {{jsxref("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-перехватчик событий объекта будет вызывать исключение {{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-перехватчиков событий
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES2015', '#sec-proxy.revocable', 'Proxy Revocation Functions')}}{{Spec2('ES2015')}}Изначальное определение.
{{SpecName('ESDraft', '#sec-proxy.revocable', 'Proxy Revocation Functions')}}{{Spec2('ESDraft')}} 
+ +

Совместимость браузерами

+ + + +

{{Compat("javascript.builtins.Proxy.revocable")}}

+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf