Вот валидный и рабочий пример на ES7 (Babel)
class Base {
name = 'Hello World';
protected = {
getName() {
return this.name;
}
};
constructor() {
this.protected = new Proxy(this.protected, {
get: (target, name) => {
return target[name].bind(this);
}
});
}
}
class Child extends Base {
constructor() {
super();
console.log(this.protected.getName()); // Hello World
}
}
new Child();
Babel песочница
Цитата:
|
Что ты тут под protected подразумеваешь, тоже не вполне понятно.
|
Методы и свойства доступные внутри класса и его потомков, но закрытые наружу.