Ответ
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.