> For the complete documentation index, see [llms.txt](https://appsecurity.gitbook.io/devops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://appsecurity.gitbook.io/devops/ppc/ppc-langs/frontend/js-ts/javascript/guide/proxy.md).

# Proxy

Введенный в ECMAScript 6, объект [`Proxy`](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Proxy) позволяет перехватить и определить пользовательское поведение для определенных операций. Например, получение свойства объекта:

```javascript
var handler = {
  get: function(target, name) {
    return name in target ? target[name] : 42;
}};
var p = new Proxy({}, handler);
p.a = 1;
console.log(p.a, p.b); // 1, 42
```

Объект `Proxy` определяет *target* (в данном случае новый пустой объект) и *handler* - объект в котором реализована особая *функция-ловушка* `get`. "Проксированный" таким образом объект, при доступе к его несуществующему свойству вернет не `undefined,` а числовое значение 42.
