Proxy и Reflect
Перехват операций с объектами, метапрограммирование и реактивность на основе Proxy
Proxy и Reflect
Proxy позволяет «обернуть» объект и перехватывать почти любые операции с ним: чтение, запись, удаление свойств, вызов, проверку in и многое другое. Reflect — его напарник, предоставляющий стандартные реализации этих операций.
new Proxy(target, handler) — создаёт прокси для target. Каждый метод в handler — это «ловушка» (trap), перехватывающая конкретную операцию. Если ловушки нет — операция проходит к оригинальному объекту напрямую.Что изучим
- Proxy: ловушки и handler — get, set, has, deleteProperty и другие трапы
- Reflect API — стандартные операции, правильное делегирование
- Практические паттерны — валидация, логирование, кэширование, иммутабельность
- Реактивность: Vue 3 под капотом — как Proxy лежит в основе
reactive()