Object.assign()基本用法
// Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。
// 它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。
let targetObj1 = { a: 1 };
let sourceObj1 = { b: 1 };
let sourceObj11 = { c: 3 };
Object.assign(targetObj1, sourceObj1, sourceObj11);
// 打印 {a: 1, b: 1, c: 3}
// 如果只有一个参数,Object.assign会直接返回该参数。
let targetObj1 = { a: 4 }
Object.assign(targetObj1);
// 打印 {a: 4}
// 如果该参数不是对象,则会先转成对象,然后返回
Object.assign(2) // Number {2}
// Object.assign可以用来处理数组,但是会把数组视为对象
Object.assign([1, 2, 3], [4, 5]) // [4, 5, 3]
var object1 = { a: { b: 1 } };
var object2 = Object.assign({}, object1);
function copyFnc(origin) {
return Object.assign({}, origin)
}
var sur = { a: 1, b: 2 }; // 上面代码将原始对象拷贝到一个空对象,就得到了原始对象的克隆。
const merge = (target, ...sources) => Object.assign(target, ...sources);
const merge = (...sources) => Object.assign({}, ...sources);
const DEFAULTS = {
logLevel: 0,
outputFormat: 'html'
};
function processContent(options) {
let options = Object.assign({}, DEFAULTS, options);
}