对象的浅拷贝与深拷贝
javascript原生里并没有对对象拷贝的函数,要实现对象的拷贝,可以使用以下方法。
浅拷贝
只拷贝对象的值,即将该对象的属性复制给另一个对象,如果对象里面包含另一个对象,只是将引用复制了而已。所以浅拷贝也可以理解为只拷贝一层。
要实现浅拷贝,可以通过遍历将属性赋值给另一个对象,也可以直接使用Object.assign()
方法
使用Object.assign()
1 | let Oa = { |
这里Ob的属性Ob.Oc
=== Oa.Oc
即两个对象是相等的,复制的引用