title: Difference between ...state, { } and Object.assign({ }, state, { })
body: <p>Prior ti this question I assumed that <code>...state, { /* ... */ }</code> is equivalent es6 syntax of <code>Object.assign({}, state, { /* ... */ })</code> but I find more and more repos using both of these in the same file, hence am now slightly confused and think that they serve different purposes. I tried looking up information about this online, but wasn't able to find any clear explanation to how these are different.</p>
  
  <p>Example: <a href="https://github.com/choonkending/react-webpack-node/blob/master/app/reducers/topic.js" rel="nofollow">https://github.com/choonkending/react-webpack-node/blob/master/app/reducers/topic.js</a></p>