---
title: Proxy handler
slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler
tags:
- ECMAScript 2015
- JavaScript
- NeedsTranslation
- Proxy
- TopicStub
- Прокси
- Русский
- ловушки
translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
translation_of_original: Web/JavaScript/Reference/Global_Objects/Proxy/handler
---
{{JSRef}}
Объект-обработчик прокси - это объект, который содержит ловушки для {{jsxref("Proxy", "proxies", "", 1)}}.
Методы
Все ловушки ставятся по желанию разработчика. Если ловушка не была определена, то, по умолчанию, операция перенаправляется на исходный объект (target).
- {{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "handler.getPrototypeOf()")}}
- Ловушка для {{jsxref("Object.getPrototypeOf")}}.
- {{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "handler.setPrototypeOf()")}}
- Ловушка для {{jsxref("Object.setPrototypeOf")}}.
- {{jsxref("Global_Objects/Proxy/handler/isExtensible", "handler.isExtensible()")}}
- Ловушка для {{jsxref("Object.isExtensible")}}.
- {{jsxref("Global_Objects/Proxy/handler/preventExtensions", "handler.preventExtensions()")}}
- Ловушка для {{jsxref("Object.preventExtensions")}}.
- {{jsxref("Global_Objects/Proxy/handler/getOwnPropertyDescriptor", "handler.getOwnPropertyDescriptor()")}}
- Ловушка для {{jsxref("Object.getOwnPropertyDescriptor")}}.
- {{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty()")}}
- Ловушка для {{jsxref("Object.defineProperty")}}.
- {{jsxref("Global_Objects/Proxy/handler/has", "handler.has()")}}
- Ловушка для оператора {{jsxref("Operators/in", "in")}}.
- {{jsxref("Global_Objects/Proxy/handler/get", "handler.get()")}}
- Ловушка для получения значений из свойств.
- {{jsxref("Global_Objects/Proxy/handler/set", "handler.set()")}}
- Ловушка для установки значений в свойства.
- {{jsxref("Global_Objects/Proxy/handler/deleteProperty", "handler.deleteProperty()")}}
- Ловушка для оператора {{jsxref("Operators/delete", "delete")}}.
- {{jsxref("Global_Objects/Proxy/handler/ownKeys", "handler.ownKeys()")}}
- Ловушка для {{jsxref("Object.getOwnPropertyNames")}} и {{jsxref("Object.getOwnPropertySymbols")}}.
- {{jsxref("Global_Objects/Proxy/handler/apply", "handler.apply()")}}
- Ловушка для вызова функции.
- {{jsxref("Global_Objects/Proxy/handler/construct", "handler.construct()")}}
- Ловушка для оператора {{jsxref("Operators/new", "new")}}.
Некоторые нестандартные ловушки устарели и были удалены.
Спецификации
Спецификация |
Статус |
Комментарий |
{{SpecName('ES2015', '#sec-proxy-object-internal-methods-and-internal-slots', 'Proxy Object Internal Methods and Internal Slots')}} |
{{Spec2('ES2015')}} |
Определении при инициализации. |
{{SpecName('ESDraft', '#sec-proxy-object-internal-methods-and-internal-slots', 'Proxy Object Internal Methods and Internal Slots')}} |
{{Spec2('ESDraft')}} |
Обработчик enumerate был удален. |
Совместимость с браузерами
{{CompatibilityTable}}
Feature |
Chrome |
Firefox (Gecko) |
Internet Explorer |
Opera |
Safari |
Basic support |
49 [1] |
{{ CompatGeckoDesktop("18") }} |
12 |
{{CompatOpera(36)}} |
{{CompatSafari(10)}} |
Feature |
Android |
Chrome for Android |
Firefox Mobile (Gecko) |
IE Mobile |
Opera Mobile |
Safari Mobile |
Basic support |
{{CompatNo}} |
{{CompatNo}} |
{{ CompatGeckoDesktop("18") }} |
{{CompatNo}} |
{{CompatNo}} |
{{CompatNo}} |
[1] Разрешен по умолчанию.
Смотрите также