title: Object assign extend immutable array of object
body: <p>I want to have a immutable original array of object and extend a new one, but seems the code below did nto produce the right result. obj3 became an object instead of an array of object. I even tried lodash's extend.</p>
  
  <pre><code>var obj1 = [{
    abc: 'abc value'
  }, {
    def: 'def value'
  }];
  
  var obj2 = {
    def: 'new def value'
  };
  
  /*var obj3 = _.extend({}, obj1, obj2);
  console.log(obj3)
  */
  
  var obj3 = Object.assign({},obj1,obj2);
  </code></pre>
  
  <p><a href="https://jsbin.com/bawadeqicu/edit?html,js,output" rel="nofollow noreferrer">https://jsbin.com/bawadeqicu/edit?html,js,output</a></p>
  
  <p>My desire output is</p>
  
  <pre><code>obj1: [{"abc":"abc value"},{"def":"def value"}] // immutable
  obj3: [{"abc":"abc value"},{"def":"new def value"}]
  </code></pre>