В чем разница между глубоким и мелким слиянием объектов в javascript? Насколько я понимаю, глубокое слияние рекурсивно копирует все перечислимые свойства исходного объекта в целевой объект. Но что делает мелкое слияние?
Глубокое и неглубокое слияние в javascript
Ответ 1
В неглубоком слиянии свойства первого объекта перезаписываются с теми же значениями свойств второго объекта.
Давайте посмотрим на пример. Настроить:
var obj1 = {
foo: {
prop1: 42,
},
};
var obj2 = {
foo: {
prop2: 21,
},
bar: {
prop3: 10,
},
};
Мелкий:
var result = {
foo: { // 'foo' got overwritten with the value of 'obj2'
prop2: 21,
},
bar: {
prop3: 10,
},
};
Deep:
var result = {
foo: {
prop1: 42,
prop2: 21, // 'obj2.foo' got merged into 'obj1.foo'.
},
bar: {
prop3: 10,
},
};