Object.assign() 方法是浅拷贝还是深拷贝?

分类:知识百科 日期: 点击:0

Object.assign() 方法是一种浅拷贝。它接受任意数量的参数,把所有可枚举属性的值从第一个参数复制到一个参数。它只会拷贝源对象自身的并且可枚举的属性到目标对象中。它不会拷贝继承的属性,也不会拷贝不可枚举的属性,也不会拷贝getter和setter函数。它只会拷贝属性的值,如果源对象的属性值是一个对象,那么它只会拷贝这个对象的引用,而不会拷贝对象本身。

换句话说,Object.assign() 方法只会拷贝一层属性,如果源对象的属性值是一个对象,那么它只会拷贝这个对象的引用,而不会拷贝对象本身。这称为浅拷贝,因为只拷贝了一层属性,而没有拷贝对象本身。

浅拷贝与深拷贝的区别在于,深拷贝会拷贝源对象的所有属性,包括继承的属性、不可枚举的属性、getter和setter函数以及属性值是对象的属性,它会拷贝对象本身,而不只是拷贝一层属性。

Object.assign() 方法是一种浅拷贝,它只会拷贝源对象自身的并且可枚举的属性到目标对象中,并不会拷贝继承的属性、不可枚举的属性、getter和setter函数以及属性值是对象的属性。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。