// Так можно хранить приватные данные
var Person = (function(){
var names = new WeakMap;
function Person(name){
names.set(this, name);
}
Person.prototype.getName = function(){
return names.get(this);
};
return Person;
})();
var person = new Person('Вася');
console.log(person.getName()); // => 'Вася'
for(var key in person)console.log(key); // => только 'getName'