Есть такой класс:
class EmailParser{
constructor(email){
this.email = email;
}
}
У создаваемого объекта должно быть только 1 свойство email, хранящиеся в конструкторе:
let parser = new EmailParser('some@email.ru');
console.log(parser.email);
Все остальные свойства не должны хранится в конструкторе, а перехватываться get-запросами. Обращение к каждому свойству должно генерировать свою информацию:
let parser = new EmailParser('some@email.ru');
console.log(parser.propertyA); // some inf A
console.log(parser.propertyB); // some inf B
Чтобы не городить get-запросы к каждому свойству через Object.defineProperty я использую прокси.
class EmailParser{
constructor(email){
this.email = email;
this.data = new Proxy(this, {
get: (target, name) => {
...
}
});
}
}
Правильно ли я это делаю или нет, я не знаю, но теперь чтобы обратится к свойству propertyA я использую parser.data.propertyA, а не parser.propertyA. Как это сделать правильно в текущих условиях, используя parser.propertyA?