function Fn(name) {
this.name = name
}
let f1 = new Fn(111)
console.log(f1.name)
function New(fn, ...args) {
const obj = Object.create(fn)
const res = fn.apply(obj, args)
console.log('obj', obj)
if(res && (typeof res === 'object' || typeof res === 'function')) {
return res
}
return obj
}
let f2 = New(Fn, 222)
console.log(f2.name)