最佳答案
                                        
                                                                        
                                现在我使用 Traceur Compiler 来获得 ES6特性的优势。
我想实现 ES5中的这些东西:
function Animal() {
var self = this,
sayHi;
sayHi  = function() {
self.hi();
};
this.hi = function() {/* ... */}
}
目前 traceur 不支持 private和 public关键字(来自和谐)。ES6类语法不允许在类主体中使用简单的 var(或 let)语句。
我发现的唯一方法是在类声明之前模拟 private,比如:
var sayHi = function() {
// ... do stuff
};
class Animal {
...
总比什么都没有好,但是正如预期的那样,如果每次没有 apply-ing 或 bind-ing,就不能将正确的 this传递给私有方法。
那么,有没有可能在 ES6类中使用与 traceur 编译器兼容的私有数据呢?