Object.assign这个语法糖是深拷贝还是浅拷贝?

let srcobj={
    
    
	'name':'jul',
	'age':18,
	 'grade':{
    
    
	 	'one':'1111',
	 	'two':'2222'
	 }
}
 
let copyobj=Object.assign({
    
    },srcobj)
 
copyobj.age='123'
console.log(copyobj.age + "~~~~"+srcobj.age) //123 ~~~ 18
 
copyobj.grade.one = '3333',
console.log(srcobj.grade.one +"~~~~~"+copyobj.grade.one) //333 ~~~ 333

//结论 Object.assign只能深拷贝第一层 基本类型的数据。 并且第二层数据是浅拷贝,指向同一个引用

猜你喜欢

转载自blog.csdn.net/LiangBlog/article/details/108676438