Помилка під час зчитування неіснуючої властивості
Зазвичай при спробі прочитати неіснуючу властивість повертається undefined
.
Створіть проксі, що видає помилку при спробі зчитування неіснуючої властивості.
Це може допомогти виявити помилки програмування раніше.
Напишіть функцію wrap(target)
, яка приймає об’єкт target
і повертає проксі, що додає цей аспект функціональності.
Ось як це має працювати:
let user = {
name: "Іван"
};
function wrap(target) {
return new Proxy(target, {
/* ваш код */
});
}
user = wrap(user);
alert(user.name); // Іван
alert(user.age); // ReferenceError: Властивість не існує: "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); // Іван
alert(user.age); // ReferenceError: Властивість не існує: "age"