01. Proxy

Прокси - это инструмент метапрограммирования, позволяющий перехватывать и переопределять операции выполняемые над объектом. Прокси разрабатывались с целью дать возможность изменять семантику языковых конструкций при работе с объектами.

Рассмотрим пример:

  • proxy - объект, чьи операции перехватываются

  • handler - обработчик событий операций над объектом. Обрабатывается только операция get.

    -

const target = {};
const handler = {
    get(target, propKey, receiver) {
        console.log('get ' + propKey);
        return 123;
    }
};
const proxy = new Proxy(target, handler);

> proxy.foo
get foo
123

Использование Proxy:

  • Tracing property accesses (get, set)

  • Warning about unknown properties (get, set)

  • Negative Array indices (get)

  • Data binding (set) - вызывать обработчик при изменении данных объекта.

  • Замена обращений к объекту на вызов функции

Last updated