Object.assign()是浅拷贝

浅拷贝: 复制的值指向同一个内存地址

深拷贝:复制的值指向新的内存地址

var a = {
  xm: {
    name: 'xiaoming'
  }
}
var b = Object.assign({}, a)
a.xh = {
  name: 'xiaohong',
  age: 18
}
a.xm.age = 17
console.log(b)
// {
//   xm: {
//     name: 'xiaoming',
//     age: 17
//   }
// }

Object.assign()只对第一级进行了深拷贝 以下各级都是浅拷贝

posted @ 2018-08-23 15:27  花开半夏shen  阅读(200)  评论(0编辑  收藏  举报