Здравствуйте!
Есть следующий код:
/* global Proxy */
// файл 1 экспортирует класс
class EmailParser {
constructor(str) {
this.email = str;
return new Proxy(this, {
construct(target, value) {
console.log("constructim");
return new target(...value);
},
get(target, name) {
console.log("gettim");
return target[name];
},
set(target, name, value) {
console.log("settim");
target[name] = value;
return true;
}
})
}
}
// export {
// EmailParser
// };
// import {EmailParser} from './emailParser';
//файл 2 импортирует класс
let parser = new EmailParser('someEmail@example.com');
console.log(parser.email);
parser.email = "someEmail2@example2.com";
console.log(parser.email);
console.log(new EmailParser("email"));
или
https://codepen.io/Kononov_D/pen/jJYrdj?editors=1010
Кому как удобно)
В коносль выводится следующее:
Причем этот лог с codePen, на пк нет этих 4х срабатываний геттера, в консоли, по крайней мере.
Так вот в чем вопрос:
Почему construct не отрабатывает создание нового экземпляра?