Показать сообщение отдельно
  #65 (permalink)  
Старый 29.04.2015, 21:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Вот валидный и рабочий пример на 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 подразумеваешь, тоже не вполне понятно.
Методы и свойства доступные внутри класса и его потомков, но закрытые наружу.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 29.04.2015 в 21:53.
Ответить с цитированием