Я пытаюсь перенести свой код с модулей 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
с предыдущим шаблоном модуля (закрывающий объект возврата публичных членов)? Если нет, то как я могу имитировать частный масштаб, как я сделал с первым примером (надеюсь, без подчеркивания)?