ECMAScript -11: Object assign
const source1 = {
a: 123,
b: 123
}
const source2 = {
a: 789,
b: 789
}
const target = {
a: 456,
c: 456
}
// 用后面对象的属性覆盖第一个对象,从左向右执行
// target, source1 = > {a:123,b:123,c:456}
// {a: 123, b:123, c:456 } + source2 => {a: 789, c:456, b: 789}
var result = Object.assign(target, source1, source2)
console.info(target) // >>> { a: 789, c: 456, b: 789 }
console.info(target === result) // true
function func(obj) {
const funcObj = Object.assign({}, obj)
funcObj.name = 'func obj'
console.info(funcObj) // >>> { name: 'func obj' }
}
const obj = { name: 'global obj' }
func(obj)
console.info(obj) // >>> { name: 'global obj' }
Keep learning

浙公网安备 33010602011771号