CoffeeScript:为初始化对象指定多个属性

CoffeeScript:为初始化对象指定多个属性,coffeescript,Coffeescript,我希望结果w是{a:4,b:true,c:true},但我得到{a:4,b:true}。 如何在不丢失已设置的属性的情况下对对象属性执行多个指定 我认为这不能直接完成。我认为,您需要迭代: w = {c: true} w = a: 4 b: true console.log w 这是迄今为止最好的答案 但如果只想向对象添加一些属性,则可以执行以下操作: w = {c: true} w[i] = v for i,v of { a: 4 b: true } console.log

我希望结果
w
是{a:4,b:true,c:true},但我得到{a:4,b:true}。
如何在不丢失已设置的属性的情况下对对象属性执行多个指定

我认为这不能直接完成。我认为,您需要迭代:

w = {c: true}
w =
  a: 4
  b: true
console.log w
这是迄今为止最好的答案

但如果只想向对象添加一些属性,则可以执行以下操作:

w = {c: true}
w[i] = v for i,v of {
  a: 4
  b: true
}
console.log w

另外,这个问题更多的是关于JavaScript而不是CoffeeScript。

的答案可能会证明很有用,因为您正在做的是将属性合并到初始对象中。嗯。。。这会对每个属性进行两次分配,但@Yuri的解决方案也是这样做的-看看传输的代码。最有效的方法似乎是@Tomasz Zieliński的-虽然不是很漂亮。我知道这很明显。。。但不是很漂亮,我正在寻找一个简短的符号,在现实生活中,w是一个具有长名称的对象,我有许多属性要添加。
w = {c: true}
w[i] = v for i,v of {
  a: 4
  b: true
}
console.log w
w = {c: true}
w.a = 4
w['b'] = true  # alternative notation