Что такое `Reflect` API и зачем использовать его вместо прямых операций?
Reflect — встроенный объект с методами, дублирующими все 13 операций Proxy.
Преимущества перед прямыми операциями:
- Возвращает
booleanвместо бросания ошибок (Reflect.definePropertyvsObject.defineProperty) - Принимает
receiver— корректно работает с наследованием через Proxy - Функциональный стиль вместо операторов:
Reflect.deleteProperty(obj, 'key')вместоdelete obj.key - Один-к-одному соответствие с traps Proxy — удобно для делегирования поведения по умолчанию