使用es6传播而不使用Object.assign

时间:2018-03-22 03:08:31

标签: javascript reactjs redux

我不是Object.assign的忠实粉丝,在我看来,它很难读,也不优雅,我尽量避免它。我在redux reducer中看到过这个地方

case ADD_TODO:
  return Object.assign({}, state, {
    todos: [
      ...state.todos,
      {
        text: action.text
      }
    ]
  })

好奇的是Object assign看起来不错吗?为什么不这样做呢?

case ADD_TODO:
  return {
    ...state,
    todos: [
      ...state.todos,
      {
        text: action.text
      }
    ]
  }

1 个答案:

答案 0 :(得分:1)

  

为什么不这样做呢?

因为ES6不再有效。

object rest/spread syntax proposal已存在一段时间但仅被ES2018接受。有关详细信息,请参阅here