Object.assign()
是 JavaScript 中的一个方法,用于将一个或多个源对象的可枚举属性复制到目标对象。
语法:Object.assign(target,...sources)
target
:目标对象,即属性将被复制到的对象。sources
:一个或多个源对象。
示例:
let target = { a: 1 };
let source1 = { b: 2 };
let source2 = { c: 3 };
Object.assign(target, source1, source2);
console.log(target);
// 输出: { a: 1, b: 2, c: 3 }
Object.assign()
的一些特点和注意事项包括:
1.它只会复制自身属性(不包括继承属性)。
2.同名属性后面的源对象的属性值会覆盖前面源对象的属性值。
let target = { a: 1 };
let source = { a: 2 };
Object.assign(target, source);
console.log(target);
// 输出: { a: 2 }
3.对于值为引用类型的属性,Object.assign()
进行的是浅拷贝。
let target = {};
let source = { obj: { prop: 1 } };
Object.assign(target, source);
source.obj.prop = 2;
console.log(target.obj.prop);
// 输出: 2