在JavaScript中使用...修改对象

时间:2019-04-14 22:33:33

标签: javascript

我有一个名为added的对象,看起来像这样:

{
  title: "test1",
  startDate: "Mon Apr 15 2019 10:30:00 GMT-0500 (Central Daylight Time)",
  endDate: "Mon Apr 15 2019 11:00:00 GMT-0500 (Central Daylight Time)",
  allDay: false
}

我尝试通过执行以下操作来编辑此对象的startDateendDate字段:

added = {
  ...added,
  {added.startDate: "111", added.endDate: "222"}       
}

但这给了我一个错误

  

期望的令牌,

正确的做法是什么?

1 个答案:

答案 0 :(得分:4)

在将added重新分配为新的对象文字时,{}内的所有内容都必须是键值对,必须散布(使用{{1 }})将具有键值对的对象插入新对象。您不能将普通对象放入对象文字中(除非您将其传播),因为对象是值,而不是键值对。

更改为:

...

您也可以这样做

added = {
  ...added,
  startDate: "111",
  endDate: "222"
}

这将是有效的语法(但很愚蠢-只需在外部对象文字中列出新属性即可。)