This was covered by "call constructor" proposal, but unfortunately, it was withdrawn.
https://github.com/tc39/ecma262/blob/master/workingdocs/callconstructor.md Status: "Withdrawn: can be solved with decorators" - https://github.com/tc39/proposals/blob/master/inactive-proposals.md On 5 Nov 2017 12:55 pm, "Michael Lewis" <[email protected]> wrote: > Why can't `new` be optional? > > I found this thread, https://esdiscuss.org/topic/ > obsoleting-the-new-keyword, but it's so long (and 9 years old), I didn't > read much of it. Can someone summarize the current status of this decision? > > On a side note, it seems the ES Steering Committee needs a wiki - a place > to document important decisions. I feel like the MDN web docs would be a > good place to put all levels of documentation. I'm going to make a new > thread about docs, it's so important... > > > Anyway, in my ES5 "classes", I use an `if (!(this instanceof Class)) > return new Class()` (similar to what jQuery does) to avoid having to use > `new`. I feel like there should be a way to build this into the language. > > I have a `View()` class that is invoked a lot: > > ``` > View().append({ > one: View(...), > two: View(View(...), View(...)) > }); > ``` > > And, being forced to write `new View()` every time is actually the only > reason why I won't switch to native classes, at the moment. > > > _______________________________________________ > 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

