Что такое Reflect

Ответ

Reflect — это встроенный объект в JavaScript, предоставляющий методы для перехвата и вызова внутренних операций объектов (например, чтение/запись свойств, вызов функций). Он часто используется в прокси (Proxy) для более контролируемого взаимодействия с объектами.

Пример:

const obj = { name: 'Alice' };

// Чтение свойства через Reflect
console.log(Reflect.get(obj, 'name')); // 'Alice'

// Запись свойства
Reflect.set(obj, 'age', 30);
console.log(obj.age); // 30

// Проверка наличия свойства
console.log(Reflect.has(obj, 'name')); // true

Ключевые особенности:

  • Все методы возвращают значения (в отличие от операторов, которые могут выбрасывать ошибки).
  • Позволяет вызывать конструкторы без new через Reflect.construct().
  • Упрощает работу с Proxy, так как методы Reflect соответствуют ловушкам Proxy.