Object.assign();讲解
Object.assign()是一个用于将一个或多个源对象的属性复制到目标对象的方法。
语法:
Object.assign(target, ...sources)
其中,target是目标对象,sources是一个或多个源对象。
返回值: 返回目标对象。
如果目标对象中已存在相同的属性,则后面的源对象将覆盖前面的源对象。
示例:
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const result = Object.assign(target, source);
console.log(target); // { a: 1, b: 4, c: 5 }
console.log(result); // { a: 1, b: 4, c: 5 }
在上面的示例中,源对象source中的属性b覆盖了目标对象target中的属性b,最终结果的属性b的值为4。
如果源对象中有多个相同的属性,则后面的会覆盖前面的。
示例:
const target = { a: 1, b: 2 };
const source1 = { b: 4, c: 5 };
const source2 = { b: 7, d: 9 };
const result = Object.assign(target, source1, source2);
console.log(target); // { a: 1, b: 7, c: 5, d: 9 }
console.log(result); // { a: 1, b: 7, c: 5, d: 9 }
在上面的示例中,源对象source2中的属性b覆盖了源对象source1中的属性b,最终结果的属性b的值为7。
注意:
- Object.assign()是一个浅拷贝,如果源对象的属性值是一个对象或数组,那么目标对象中的该属性值只是一个指向源对象中该属性值的引用,而不是一个独立的对象或数组。
- 如果target为null或undefined,会抛出TypeError异常。
原文地址: https://www.cveoy.top/t/topic/m3L 著作权归作者所有。请勿转载和采集!