On 02/11/11 13:01, David Bruant 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, ....)

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?
Yeah, immutability and referential transparency are wonderful things. I wish JavaScript developers would rely more on it, it makes things saner to work with. Though is `const' the same as Object.freeze(thing) when `thing' is an object? Or does it just ensure that the slot in the object isn't reassigned?

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.
I still think `private' is quite overrated. It gets terrible if you want to test something and the developer went through all the trouble of making proxies to access everything, as well as making everything stateful.

That said, there are some valid use-cases for it... I guess?

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to