Function.prototype.construct = function (aArgs) { let fNewConstr = new Function(""); fNewConstr.prototype = this.prototype; let oNew = new fNewConstr(); this.apply(oNew, aArgs); return oNew; };