返回
Object.assign的妙用,带你领略对象合**并**的奥妙
前端
2024-02-02 04:14:05
Object.assign的魔法
Object.assign() 這個方法是JavaScript中的寶藏,它可以輕鬆地合併一個物件中的所有可枚舉屬性到另一個物件中。它能讓您輕鬆地合併物件,而無需繁瑣的物件複製或擴展運算符。
Object.assign的運作方式
Object.assign() 使用以下步驟合併物件:
- 該方法會先創建一個新的物件,該物件是 target 物件的淺拷貝。
- 然後,它會遍歷 source 物件中的每個可枚舉屬性。
- 對於每個屬性,它會將該屬性及其值複製到 target 物件。
- 如果 target 物件中已存在同名的屬性,則該屬性及其值將被覆蓋。
- 一旦遍歷完成,新的物件將被返回,而 target 物件將保持未修改。
Object.assign的語法
Object.assign() 方法的語法如下:
Object.assign(target, ...sources)
- target:要修改的物件。
- sources:要合併到 target 物件中的物件。可以傳遞一個或多個 source 物件。
Object.assign的實用範例
現在,我們來看看一些 Object.assign() 的實用範例:
合併多個物件
const obj1 = {
name: 'John',
age: 30
};
const obj2 = {
lastName: 'Smith',
city: 'New York'
};
const obj3 = {
email: 'john.smith@example.com'
};
const mergedObj = Object.assign({}, obj1, obj2, obj3);
console.log(mergedObj); // { name: 'John', age: 30, lastName: 'Smith', city: 'New York', email: 'john.smith@example.com' }
合併物件並覆蓋屬性
const obj1 = {
name: 'John',
age: 30
};
const obj2 = {
name: 'Jane',
age: 25
};
const mergedObj = Object.assign(obj1, obj2);
console.log(mergedObj); // { name: 'Jane', age: 25 }
合併物件並創建新物件
const obj1 = {
name: 'John',
age: 30
};
const newObj = Object.assign({}, obj1);
console.log(newObj); // { name: 'John', age: 30 }
Object.assign() 方法非常靈活,可以輕鬆地合併多個物件。它可以讓您輕鬆地將屬性從一個物件複製到另一個物件,而無需繁瑣的物件複製或擴展運算符。