作用
用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。
实例
const a = { a: 1, b: 2 };
const b = { b: 4, c: 5 };
const c = Object.assign(a, b);
console.log(c);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(a);
// expected output: Object { a: 1, b: 4, c: 5 }
const a = { a: 1, b: 2 };
const b = { b: 4, c: 5 };
const c = Object.assign({},a, b);
console.log(c);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(a);
// expected output: Object { a: 1, b: 2}
源码实现
function extend(target, source) {
for (var obj in source) {
target[obj] = source[obj];
}
return target;
}
// 测试
var a = {a: 1, b: 2};
var b = {a: 2, b: 3, c: 4};
var c = extend(a, b);
console.log(c); // expected output: Object { a: 2, b: 3,c: 4}