Proxy
В JavaScript объект Proxy — это мощный инструмент для интерцепции и контроля поведения объектов. Proxy позволяет “завернуть” любой объект и перехватывать доступ к его свойствам, изменять их, реализовывать защиту или логирование. Синтаксис простой: new Proxy(target, handler), где target — исходный объект, а handler — объект с методами-«ловушками» (traps), которые реагируют на различные операции. Например, с помощью ловушки get можно отследить любое обращение к свойствам:
const target = {}; const proxy = new Proxy(target, { get(obj, prop) { console.log(Чтение свойства: ${prop}`);
return obj[prop];
}
});
proxy.anyProp; // Выведет: Чтение свойства: anyProp
Кроме чтения, существуют ловушки для установки свойств, удаления, перебора и других операций. Это открывает широкие возможности: фильтрация или валидация данных, защита объектов (например, делать поля доступными только для чтения), автозаполнение, глубокое клонирование и даже создание реактивных систем (как во Vue.js).`