Brendan Eich wrote:
And again, we do not want a reified "private state object", so private
could not be a free expression. This also hurts private(other).weight --
'weight' is not an identifier in a "private state object", it has to be
a private name object binding. Therefore we should avoid any syntax
suggesting a first-class reflection of a private state object.

How do I do private(foo)[expression]? Or I don't (yes, it can be worked around by foo.@store[expression], but)?

This is why @foo for private name object bound to lexical identifier foo
has been proposed. It also has the benefits of being shorter and
matching some other languages near to JS.

I did not know. I have read the class proposal (I need to rework Empowered Data not to use @). I am all for @bar (or something), I like the concise syntax for "private property name" concept. In fact I wanted it, and wanted to propose something lot crazier (private keyword itself being modifier of the property name, so foo.private bar, foo[private expr]; but @ is better (except I don't know if it is []-friendly).

/be

Herby
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to