Promise() vs. new Promise()

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


20.08.2014, 19:18, "Claude Pache" <claude.pache at gmail.com>:
> Le 20 août 2014 à 16:56, Alex Kocharin <alex at kocharin.ru> 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 http://esdiscuss.org/notes/2013-07-25 (search for "anti-pattern"), allowing constructors without `new` would break subclassing.

Still doesn't make much sense... This pattern (this instanceof ...) breaks another pattern (BaseClass.call(this)). 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