理解JavaScript new

28 阅读1分钟
function myNew(fn, ...args) {  
    const instance = Object.create(fn.prototype)  
    const data = fn.call(instance,...args)  
    return data instanceof Object ? data : instance  
}  
  
function Test(data) {  
    console.log(data)  
    return {  
        num: data  
    }  
}  
  
console.log( myNew(Test,123))