On 02/11/11 00:01, Brendan Eich wrote:
On Nov 1, 2011, at 6:57 PM, Quildreen Motta wrote:
I like how clean the syntax is there, Brendan. I still feel class syntax would
have more value if they presented a nice way for object composition besides
inheritance.
Traits were factored out and I consider adding them in this exercise to be a "bridge
too far".
Fair enough.
None the less, I think we could well get rid of those `var' inside the
class-body, as long as it's not executable:
I don't think so, although Bob Nystrom's suggestions ended up simplified that
way. It's awkward to use assignment expression as a declarative form. It
suggests the body *is* executable. Instead, I went with 'var' as Bob did
originally.
My view is that 'var' will die hard and for global-object-aliasing global
variables, it's close to class prototype properties. There's no way to observe
the prototype half-initialized. As noted, there's a risk people will think
methods close over proto-vars/consts.
/be
Hm, I don't think `lhs = rhs' suggests any more of a non-declarative
form than `var'. Taking JS semantics into consideration, I'd say `var'
is more misleading (whereas `lhs = rhs' just feels weird).
There's `public', but then, that's quite verbose. I guess people comming
from a classical language with declarative definitions for class slots
might still be used to it, none the less.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss