function customNew(fn) { const obj = {}; return function (...args) { const res = fn.apply(obj, args); obj.__proto__ = Object.getPrototypeOf(fn); return typeof res === "object" ? res : obj }}function Foo(name) { this.name = name}console.log(customNew(Foo)(2));


