So I have been trying to figure out from the wiki precisely how Private
Name Objects work. When assigned/defined does it expose that property to
all sibling properties/methods or just those present at the time of
assign/define? If you add on to the object later to the new properties get
access?
var Person = {
[hunger]: 100,
eat: function(){ --this[hunger]; }
}
? Person.getHunger = function() { return this[hunger] }
class Person {
constructor(){ this[hunger] = 100; }
}
Person.prototype.getHunger = function(){ return this[hunger]; }
Does it make a difference wether it is a 'method' vs a property with a
function value?
var Person = {
[hunger]: 100,
eat: function(){ --this[hunger]; }
isHungry: function() { return this[hunger] > 0; }
getHunger() { return this[hunger]; }
}
I'm trying to determine whether when compiling into ES3/5 you could get
away with not attaching some .__privates__ property to the object and
instead just put a closure around the definitions.
Thanks ahead of time!
Matthew Robb
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss