Can `new` be optional?

Michael Lewis mike at lew42.com
Sun Nov 5 11:55:19 UTC 2017


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20171105/3e9aaac0/attachment.html>


More information about the es-discuss mailing list