Promise() vs. new Promise()

Alex Kocharin alex at
Wed Aug 20 09:55:55 PDT 2014

20.08.2014, 19:18, "Claude Pache" <claude.pache at>:
> Le 20 août 2014 à 16:56, Alex Kocharin <alex at> a écrit :
>>  But... why?
>>  I mean, every constructor can determine if it is called without `new` (that "this instanceof" check on top of every other constructor). So `new` keyword can really be removed from everywhere except in constructors themselves.
>>  Using `new` does create issues. For example, you can't write "new require('something').Constructor(blah)", and I don't even remember how to put brackets right.
>>  Why make people use it?
> According to (search for "anti-pattern"), allowing constructors without `new` would break subclassing.

Still doesn't make much sense... This pattern (this instanceof ...) breaks another pattern ( Why first one is deprecated, not the second one?

I mean, I was able to subclass such a class with prototype injection without any issues, and it feels more natural in javascript after all.

More information about the es-discuss mailing list