Summary: prototypes as classes

Irakli Gozalishvili rfobic at gmail.com
Wed Jun 29 17:46:43 PDT 2011


There have been multiple thread on this and I did not know were to comment, so I'll add few comments here.

I think that whole constructors as classes business in JS is confusing for everyone coming to JS, and they only understand it after understanding confusing constructor- prototype relationship.

It is true that people find 

var point = new Point(x, y)
point instanceof Point

intuitive but that's because it looks like Java. Also they are quite puzzled to find out that in some cases:

var point = Point(x, y)

works the same.

On the other hand people may find Point.new(x, y) as intuitive, as they will think of ruby instead of java. Also, I do not think there is a point to use `constructor` with all it's confusing prototype relationships for initialization in "prototypes as classes", just use initialize method to do that. 

Is it really too late to undo `constructor` as classes ? There are other proposals like rest and spread with a hope that `arguments` will die off some day. Why this would be different ?

Finally I believe that killing constructors will make js straight forward to understand and lighter in syntax.

And not everyone tries to emulate classical inheritance today:
http://javascript.crockford.com/prototypal.html


Regards
--
Irakli Gozalishvili
Web: http://www.jeditoolkit.com/
Address: 29 Rue Saint-Georges, 75009 Paris, France (http://goo.gl/maps/3CHu)


On Thursday, 2011-06-30 at 24:24 , Axel Rauschmayer wrote:

> > Last concrete disagreement we had was over new C() vs. C() in the current language being notably different from new C() vs. C.constructor() in the alternate-reality language with prototypes as classes.
> 
> 
> As in “don’t mix too well”. I agree with that. That will be a challenge for class literals. But the abstraction argument might apply to both cases: If people see a class C, they just want to instantiate it via new C(x,y). As long as instanceof works accordingly afterwards, I’m not sure much has changed *superficially*.
> 
> -- 
> Dr. Axel Rauschmayer
> 
> axel at rauschma.de (mailto:axel at rauschma.de)
> twitter.com/rauschma (http://twitter.com/rauschma)
> 
> home: rauschma.de (http://rauschma.de)
> blog: 2ality.com (http://2ality.com)
> 
> 
> 
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org (mailto:es-discuss at mozilla.org)
> https://mail.mozilla.org/listinfo/es-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20110630/a6236000/attachment-0001.html>


More information about the es-discuss mailing list