js深拷贝VS浅拷贝怪像,求解释

改变了原对象
obj1 = {a:1,b:{b1:1}}
obj2 = Object.assign({},obj1)
obj2.b.b1=2console.log(obj1.b.b1)// 2

obj1 = {a:1,b:{b1:1}}
obj2 = Object.assign({},obj1,{})
obj2.b.b1=2console.log(obj1.b.b1)// 2
未改变原对象
obj1 = {a:1,b:{b1:1}}
obj2 = {a:2,b:{b1:2}}
obj3 = Object.assign({},obj1,obj2)
obj3.b.b1=8console.log(obj1.b.b1)// 1


青春有我
浏览 434回答 1
1回答

慕尼黑5688855

如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript