new operator as a function
new inherits the first-class nature of functions, allowing you to do a couple of cool things that you never could with new.
That also gets you
.apply(), even for native constructors.
ES2016 (aka ES6) provides
Reflect.construct, which works similarly. We fall back to it for cases with over 20 arguments if available.
npm install new-operator
var new_ = require('new-operator')