Object.assign()方法
在本篇文章中,我們將介紹JavaScript中的Object.assign()方法。
這個方法在ES2015
中引入,它將一個或多個物件的可枚舉自身屬性複製到另一個物件中。
它的主要用途是創建一個對象的淺拷貝。
1
| const copied = Object.assign({}, original)
|
由於是淺拷貝,值被複製,對象引用被複製(而不是對象本身),所以如果在原始對象上編輯一個對象屬性,則在複製的對象中也會修改,因為內部引用的對象是相同的:
1 2 3 4 5 6 7 8 9 10 11 12 13
| const original = { name: 'Fiesta', car: { color: 'blue' } } const copied = Object.assign({}, original)
original.name = 'Focus' original.car.color = 'yellow'
console.log(copied.name) console.log(copied.car.color)
|
我們提到了”一個或多個”:
1 2 3 4 5 6 7 8 9
| const wisePerson = { isWise: true } const foolishPerson = { isFoolish: true } const wiseAndFoolishPerson = Object.assign({}, wisePerson, foolishPerson)
console.log(wiseAndFoolishPerson)
|
tags: [“JavaScript”, “Object assign”, “ES2015”]