js中浅拷贝与深拷贝的区别

浅拷贝与深拷贝在这里只针对引用数据类型;
通俗来讲:

  • 浅拷贝 只复制对象的引用,也就是一个地址
  • 深拷贝 会复制对象的本身,会另开辟一个空间存放复制后的新对象

在js中
引用数据类型的指针存放在栈中,而对象本身存放在堆中,指针只是指向对象本身的一个地址。
js中浅拷贝与深拷贝的区别
如上图 深拷贝会在堆区新开辟一个空间存放对象 在对拷贝后的对象进行更改时不会改变原来的对象。
浅拷贝则相反。