整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
Object.assign
let user = {name:"xiaoliu"}
let updateUser=(()=>{
Object.assign(user,{age:23})//flag
return user
})()
console.log(updateUser === user)//true
这题的主要问题是
Object.assign是怎样的拷贝?
flag处:Object.assgin 是合并两个对象(用后一个替换前一个),返回合并后的对象,但是它对象的指针是不变的
扩展下这个方法是个浅比较:只比较第一层
console.log(Object.assign([1,[2,[3,4]]],[5,[6,7]]))//[ 5, [ 6, 7 ] ]