Здравствуйте! В этом уроке речь пойдет об объектах Proxy и Reflect. Объект Proxy «оборачивается» вокруг другого объекта и может перехватывать (и, при желании, самостоятельно обрабатывать) разные действия с ним, например чтение/запись свойств и другие. Далее мы будем называть такие объекты просто «прокси».
Прокси используются во многих js библиотеках и некоторых браузерных фреймворках. В этом уроке мы увидим много примеров применения прокси в решении реальных задач.
Синтаксис создания объекта Proxy:
let proxy = new Proxy(target, handler)
- target – это объект, для которого нужно сделать прокси, может быть чем угодно, даже включая функции.
- handler – конфигурация прокси: объект с «ловушками» («traps»): методами, которые перехватывают разные операции, например, ловушка get – для чтения свойства из target, ловушка set – для записи свойства в target и так далее.
При операциях над proxy, если в handler имеется соответствующая «ловушка», то она срабатывает, и прокси имеет возможность по-своему обработать её, иначе операция будет совершена над оригинальным объектом target. Читать далее