Object.assign 可以把源对象拷贝到目标对象中去,如下
let man = { key: { age: '123' } }
let women = Object.assign({}, m)
console.log(women)
运行结果:
{ key: { age: '123' } }
那Object.assign深拷贝还是浅拷贝呢?
答案是第一级属性深拷贝,第一级以下的级别属性浅拷贝 。
例1
let man = { key: { age: '123' } }
let women = Object.assign({}, man)
man.key.age = 10
console.log(man , women)
运行结果:
{ key: { age: 10 } }
{ key: { age: 10 } }
例2
let man = { key: { age: '123' } }
let women = Object.assign({}, man)
man.key = 123
console.log(man, women)
运行结果:
{ key: 123 }
{ key: { age: '123' } }