Раньше я объявлял приватные свойства и методы так:
function MyClass () {
var privateProperty = 'value';
var privateMethod = function () {
console.log ('Hi, I am privateMethod');
};
this.publicMethod = function () {
privateMethod ();
return privateProperty;
};
}
А теперь я такой обрадовался и начал на Es6 писать:
class MyClass {
constructor () {
// F**k yeah, я использую Es6... Как нет приватных свойств? o.O
var privateProperty = 'value';
var privateMethod = function () {
console.log ('Hi, I am privateMethod');
};
// Нет-нет, постойте, какого ...?
}
}
Собственно, классы, это упрощённый синтаксис, поддержка которого не имеет значения, если я хочу использовать инкапсуляцию? Или я что-то упустил?