function MyNew(fun) {
const obj = {};
obj.__proto__ = fun.prototype;
let ret = fun.apply(obj, [...arguments].slice(1));
if ((typeof ret === "object" || typeof ret === "function") && ret !== null) {
return ret;
}
return obj;
}
function Person(name) {
this.name = name;
}
const p = MyNew(Person, 'visa');