Как реализовать приватный метод в классе ES6 с помощью Traceur [duplicate]

На этот вопрос уже есть ответ здесь:

Частная собственность в классах JavaScript ES6 35 ответов

Теперь я использую Traceur Compiler, чтобы иметь преимущество с функциями ES6.

Я хочу реализовать это от ES5:

function Animal() {
    var self = this,
        sayHi;

    sayHi  = function() {
        self.hi();
    };

    this.hi = function() {/* ... */}
}

В настоящее время traceur не поддерживаетprivate а такжеpublic ключевые слова (из гармонии). А синтаксис класса ES6 не позволяет использовать простойvar (или жеlet) утверждения в теле класса.

Единственный способ, которым я нахожу, - это симуляция рядовых до объявления класса. Что-то вроде:

var sayHi = function() {
    // ... do stuff
};

class Animal {
...

Это лучше, чем ничего, но, как ожидается, вы не можете пройти правильноthis на приватный метод безapplyилиbindэто каждый раз.

Итак, есть ли возможность использовать личные данные в классе ES6, совместимом с компилятором traceur?

Ответы на вопрос(9)

Ваш ответ на вопрос