назад до уроку

Помилка під час зчитування неіснуючої властивості

Зазвичай при спробі прочитати неіснуючу властивість повертається 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"