Yet didn't we go over this previously?

https://mail.mozilla.org/pipermail/es-discuss/2011-June/015014.html (from you ;-)

in reply to

https://mail.mozilla.org/pipermail/es-discuss/2011-June/015012.html (from Bob Nystrom)

It's also a bit novel to preempt the class name in its own prototype, but usually ok. Any of {constructor, new, <classname>} is a special form as noted. It's true that 'constructor' avoids collision but OTOH, it's overlong. None of these names avoids magic wiring behind the scene.

Someone on twitter pointed out that class name minifies well, but so does constructor, and anyway transport-encoding compression makes this moot.

Anonymous classes are an important use case IMHO, to match anonymous functions and the prototypal pattern.

/be


Gavin Barraclough wrote:
On Mar 23, 2012, at 12:42 AM, Claus Reinke wrote:

- would it make sense to name the constructor after the class
  (avoiding 'constructor' and 'new')?

I was about to suggest exactly the same thing.

If I see a line of code saying
    let x = new FooBar();
and want to understand what it does, I'm instinctively looking for a function named FooBar, not one named either 'new' or 'constructor'.

Between 'new' and 'constructor', new seems like the better choice to me. Whilst it is true that prototypes currently contain a constructor property, I don't see a lot of code that explicitly accesses this. In terms of the language actually actively in use in scripts by ES programmers, 'new' is currently in the common lexicon, and 'constructor' doesn't seem to be. [ I make this statement on casual observation rather than any empirical evidence. :-) ]

cheers,
G.


_______________________________________________
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

Reply via email to