我试图将我的代码从ES5模块迁移到ES6类。我当前的代码(模块,而不是类),如下所示:以上如何用ES6类模拟私人范围?
var appleModule = (function() {
var yummy = true;
var publicEat = function() { }
var privateEat = function() { }
return { "eat": publicEat }
})();
让我创造,我不暴露在我的环境中其他的JavaScript对象/范围私有变量和方法。我喜欢。我想在ES6我们班现在这么像这样成为重构的代码:
exports class appleModule {
constructor {
this.yummy = true;
}
publicEat() {
}
privateEat() {
// How to make private?
}
}
但是,是不是让私有变量和函数与这个新的基于类的语法的好方法。新建议是否使用exports
与之前的模块模式(返回公共成员的封闭对象)?如果不是,我如何像第一个例子那样模拟私人范围(希望没有下划线)?