记录一些小知识点:
Object.setPrototype( res , prototype )
res:要设置其原型的对象
Prototype:该对象的新原型, (一个对象Or null)
Con: fn 函数
...args: 参数
function New(Con , ...args){
let obj = {}
Object.setPrototypeOf ( obj , Con.prototype )
let result = Con.apply( obj , args )
return result instanceof Object ? result : obj
}