When using _.extend
/_.assign
or _.merge
, you will modify the destination object.
object1 = { foo: 23, bar: 42 }
object2 = { bar: 99 }
_.extend(object1, object2) // => { foo: 23, bar: 99 }
object1 // => { foo: 23, bar: 99 }
If you do not want to do that, simply extend into a new object:
object1 = { foo: 23, bar: 42 }
object2 = { bar: 99 }
_.extend({}, object1, object2) // => { foo: 23, bar: 99 }
object1 // => { foo: 23, bar: 42 }
Note how our _.extend
statement receives {}
as its first argument.
Posted by Arne Hartherz to makandra dev (2014-12-09 10:22)