Для чего нужен объект Proxy?

Ответы
Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
06 апреля 2022

Этот объект нужен для каких-то дополнительных действий когда происходит взаимодействие с любым объектом. В прокси существуют несколько обработчиков-ловушек, которые срабатывают при определённых событиях. Самые популярные среди них это get и set, которые срабатывают соответственно при получении свойства объекта и при установке нового значения в свойство объекта. На эти ловушки можно повесить свои обработчики.

Пример:

const handler = {
  get: (target, name) => {
    return name in target ?
      target[name] : 37;
  }
};

const p = new Proxy({}, handler);
p.a = 1;
p.b = undefined;

console.log(p.a, p.b); // 1, undefined
console.log('c' in p, p.c); // false, 37

Для чего это нужно

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

9 0
Аватар пользователя Рустэм Давлетов
Рустэм Давлетов
10 ноября 2022

Спасибо, Иван! :)

0 0
Добавьте ваш ответ

Рекомендуемые курсы

курс
11 часов
Старт в любое время
курс
20 часов
Старт в любое время
курс
14 часов
Старт в любое время