Minimalist Classes

Quildreen Motta quildreen at gmail.com
Wed Nov 2 08:15:47 PDT 2011


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?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20111102/444d6a04/attachment.html>


More information about the es-discuss mailing list