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只能深拷贝第一层 基本类型的数据。 并且第二层数据是浅拷贝,指向同一个引用

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页