在JavaScript中,`Object.assign()` 是一个非常实用的方法,用来将所有可枚举属性的值从源对象复制到目标对象。简单来说,它能帮助你合并多个对象!🎯
首先,让我们看看基本语法:
`Object.assign(target, ...sources)`
其中 `target` 是目标对象,`sources` 是需要被复制的对象。例如:
```javascript
const obj1 = { name: 'Alice' };
const obj2 = { age: 25 };
const mergedObj = Object.assign(obj1, obj2);
console.log(mergedObj); // 输出 { name: 'Alice', age: 25 }
```
💡 注意,`Object.assign()` 会直接修改目标对象(obj1),而不是创建新对象。如果你不想改变原对象,可以先克隆一个空对象 `{}` 作为目标:
```javascript
const clonedObj = Object.assign({}, obj1, obj2);
console.log(clonedObj); // 输出 { name: 'Alice', age: 25 }
```
此外,当属性值相同或存在冲突时,后面的源对象会覆盖前面的。比如:
```javascript
const obj3 = { city: 'New York' };
const finalObj = Object.assign(mergedObj, obj3);
console.log(finalObj); // 输出 { name: 'Alice', age: 25, city: 'New York' }
```
掌握 `Object.assign()` 后,代码逻辑会更加简洁高效!✨