Ошибка при чтении несуществующего свойства
Обычно при чтении несуществующего свойства из объекта возвращается undefined
.
Создайте прокси, который генерирует ошибку при попытке прочитать несуществующее свойство.
Это может помочь обнаружить программные ошибки пораньше.
Напишите функцию wrap(target)
, которая берёт объект target
и возвращает прокси, добавляющий в него этот аспект функциональности.
Вот как это должно работать:
let user = { name: "John" }; function wrap(target) { return new Proxy(target, { /* ваш код */ }); } user = wrap(user); alert(user.name); // John alert(user.age); // Ошибка: такого свойства не существует
let user = { name: "John" }; function wrap(target) { return new Proxy(target, { get(target, prop, receiver) { if (prop in target) { return Reflect.get(target, prop, receiver); } else { throw new ReferenceError(`Свойство не существует: "${prop}"`) } } }); } user = wrap(user); alert(user.name); // John alert(user.age); // Ошибка: Свойство не существует