点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
如何克隆一个对象,日常工作中我们会根据一些实际情况,采取一些或复杂或简单的方式,其中最为简单的方法就是利用对象的方法,如下:
Object.assign({}, obj)
举一个例子:
控制台输出同样一个对象,实现了对obj的拷贝。
需要注意的是,这种方法执行的是浅拷贝,而不是深拷贝,这就意味着嵌套的对象不会被复制。仍然引用与原始相同的嵌套对象。
一,看一段代码的输出这段代码中,obj里有一个属性对象c。执行克隆之后,复制的只是c的引用。先看一下这段代码的输出结果:
接下来我们来改变一些属性值,重新输出。
二,重置属性后的输出我改变了两个属性值,一个是属性c对象里的一个属性age。一个是属性b。看一下输出结果:
结果发现,那个克隆的对象b属性没有变,说明它拷贝成功,而c里的age也变成了45,那就说明它没有真正拷贝。
总结一下:
Object.assign执行的是浅拷贝,要记住这一点,这个方法的用处是很大的。最常用的场景就是前端给接口传参数据的时候。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved