Object.assign方法用于对象的合并,将源对象( source )的所有可枚举属性复制到目标对象( target )
它會修改target对象,然后将它返回:先将source_1对象的所有可枚举属性复制给target然后依次复制source_1等的属性。
涉及一下深拷贝和浅拷贝的概念javascript中存储对象嘟是存地址的,所以浅拷贝是都指向同一块内存区块而深拷贝则是另外开辟了一块区域。如下实例:
明显看出浅拷贝在改变其中一个徝时,会导致其他也一起改变而深拷贝不会。
虽然既可以复制又可以混合对象但需要注意的是它只merge根属性,下面的就不做处理了 且看例子:
我们并没有去更改opt1 的subtext ,只是改了opt2 的但结果两个配置变得一模一样
Object.assign() 只是一级属性复制,比浅拷贝多深拷贝了一层而已实行的是淺拷贝,而不是深拷贝也就是说,如果源对象某个属性的值是对象那么目标对象拷贝得到的是这个对象的引用。用的时候还是要注意这个问题的。
Object.assign()
淺拷贝
先将一个对象转成json字符串然后又将字符串转回对象。
查看 来了解我们 2019 年的开发计划。
在任何形式的参与前请先阅读 。如果你希望参与贡献欢迎 ,或给我们
强烈推荐阅读 (本指南不提供此项目的实际支持服务!)、 和 、,更好的问题更容易获得帮助
感谢 提供的免费开源 License 赞助
如果您茬使用的过程中碰到问题,可以通过下面几个途径寻求帮助同时我们也鼓励资深用户通过下面的途径给新人提供帮助。
我们在这里列出了部分使用者如果你的公司和产品使用了 NG-ngzorro官网,欢迎到 留言