Reflect
About
Reflect
это встроенный объект, предоставляющий методы для перехватываемых операций JavaScript. Это те же самые методы, что имеются в обработчиках Proxy. Объект Reflect
не является функцией.
Reflect
помогает при пересылке стандартных операций из обработчика к целевому объекту.
Например, метод Reflect.has()
это тот же оператор in
но в виде функции:
Улучшенная функция apply
apply
В ES5 обычно используется метод Function.prototype.apply()
для вызова функции в определенном контексте (с определенным this)
и с параметрами, заданными в виде массива (или массиво-подобного объекта).
С методом Reflect.apply
эта операция менее громоздка и более понятна:
Проверка успешности определения нового свойства
Метод Object.defineProperty
, в случае успеха операции, возвращает объект, а при неудаче вызывает ошибку TypeError
. Из-за этого определение свойств требует обработки блоком try...catch
для перехвата возможных ошибок. Метод Reflect.defineProperty
, в свою очередь, возвращает успешность операции в виде булева значения, благодаря чему возможно использование простого if...else
условия:
Last updated