作用
用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。
实例
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}