Does object@name break encapsulation? One could mutate object@name for any instance of the class passed in via a parameter for example.
On Nov 2, 2011, at 8:01 AM, David Bruant <[email protected]> wrote: > Le 02/11/2011 14:26, Jeremy Ashkenas a écrit : >> >> (Full Disclosure: I'm still very opposed to const, private, and their >> object-lockdown friends, ....) > Could you elaborate on this point? > All object-lockdown I can think (non-configurability, non-writability, > non-enumerability, private names, const variables, const classes) of is > optional. Why are you against them? > > Regarding "const", it's an optional keyword basically telling the interpreter > "hey, the value isn't suppose to change at runtime, please ensure it!". It > prevents bugs of mistakenly redefining something that shouldn't be redefined. > Why are you opposed to this? > > Regarding "private", I'm puzzled. Having private attributes in objects is > necessary to implement encapsulation and get all the benefits of good > object-oriented practices. > A generation of JS programmers have used scope constructs and the "var" > keyword to enable some privacy. I'm all in favor of providing a declarative > support for what people have done for years anyway. What is wrong with > "private"? > > Once again, all of this is optional, nothing forces you to use new features > of the language. I will personnally never use multi-line strings, but I don't > mind the feature being in the language. > > I was about to say "if you're unsatisfied, create a language which doesn't > provide features you don't like, like Coffeescript", but... humm... > So, why being against the introduction of features in the language? > > David > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

