Как реализовать приватный метод в классе 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?