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

Reply via email to