Sep 27 meeting notes
brendan at mozilla.com
Thu Sep 29 09:59:43 PDT 2011
On Sep 29, 2011, at 4:47 PM, Oliver Hunt wrote:
>> There are some on the committee who object to 'var' in particular; others object to using scoped binding forms to define properties in (default mutable) objects. We can go around this block again, though.
> The exact token isn't overly important, it could be '@' if we wanted to go down the path of perl and ruby and use random symbols in place of words. I would prefer var, because that makes sense to me -- just like the reuse of function for method decls. Python has demonstrated that people don't have a problem with the same keyword producing functions vs methods on classes (see def).
> That said I don't now what you mean by "scoped binding forms" so I can't comment on the latter part of your reply.
let, const, function.
Using these to define properties puns binding declaration as property definition. Maybe that is ok, but some on the committee object in general, not just to the 'var' keyword (which is bad because 'let' is good ;-).
I think we have had trouble assuming things that work for bindings work for properties. For instance, initialization is required for const, but how would your favorite class syntax initialize a const instance property from a constructor parameter? If 'const' goes where you show 'var', the constructor's parameters are not in scope.
We don't want const x; and later x = 42 -- as recently as July's meeting we reaffirmed that const requires an initializer and that is the only write.
More information about the es-discuss