JavaScript Object.assign() 方法详解及使用示例
JavaScript Object.assign() 方法详解及使用示例
Object.assign() 是 JavaScript 中一个用于将一个或多个源对象的属性复制到目标对象的方法。
语法
Object.assign(target, ...sources)
其中,target 是目标对象,sources 是一个或多个源对象。
返回值
返回目标对象。
覆盖机制
如果目标对象中已存在相同的属性,则后面的源对象将覆盖前面的源对象。
示例
示例 1
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。
示例 2
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/lCpv 著作权归作者所有。请勿转载和采集!