Object.defineProperty(Object,'assign2',{
value: function(target,...args){
if(target===null){
throw new Error('不支持null和undefine')
}
//转成引用了型
const to = Object(target)
for(let i=0;i<args.length;i++){
let nextSource = args[i]
for(let nextKey in nextSource){
if(nextSource.hasOwnProperty(nextKey)){
to[nextKey] = nextSource[nextKey]
}
}
}
return to
},
enumerable: false,
configurable: true,
writable: true
})
console.log(Object.assign2({c:4},{a:1},{b:2}))