Я использую 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
-ing или bind
-в его каждый раз.
Итак, есть ли возможность использовать частные данные в классе ES6, совместимом с компилятором traceur?