最佳答案
现在我使用 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 编译器兼容的私有数据呢?