Proxy: Валидация с ловушкой «set»



Допустим, мы хотим сделать массив исключительно для чисел. Если в него добавляется значение иного типа, то это должно приводить к ошибке.



Ловушка set срабатывает, когда происходит запись свойства.

- set(target, property, value, receiver):

- target – это оригинальный объект, который передавался первым аргументом в конструктор new Proxy,

- property – имя свойства,

- value – значение свойства,

- receiver – аналогично ловушке get, этот аргумент имеет значение, только если свойство – сеттер.



Ловушка set должна вернуть true, если запись прошла успешно, и false в противном случае (будет сгенерирована ошибка TypeError).



#разное #proxy #ловушки