Coffeescript Can';t从复杂对象访问解构分配

Coffeescript Can';t从复杂对象访问解构分配,coffeescript,destructuring,Coffeescript,Destructuring,给定输入值: input = name:'Foo' id:'d4cbd9ed-fabc-11e6-83e6-307bd8cc75e3' ref:5 addtData:'d4cbd9ed-fabc-11e6-83e6-307bd8cc75e3' data:'bar' 当我尝试通过如下函数对输入进行分解时: simplify: (input)-> { name, ref, id } = input …返回值仍然是完整输入或输入的副本 我是不

给定输入值:

input = 
    name:'Foo'
    id:'d4cbd9ed-fabc-11e6-83e6-307bd8cc75e3'
    ref:5
    addtData:'d4cbd9ed-fabc-11e6-83e6-307bd8cc75e3'
    data:'bar'
当我尝试通过如下函数对输入进行分解时:

simplify: (input)->
    { name, ref, id } = input
…返回值仍然是完整输入或输入的副本


我是不是错过了一些简单的东西?如何访问已分解的值。如果您无法通过返回访问值,则除本地范围的值外,解构似乎没有什么价值。

虽然这不一定是一个优势,但我能够传输并获得正确答案的唯一方法是使用
@
将解构值分配给本地范围(也称
this

工作示例-

如果有人有更好的方法来解决这个问题,请添加一个答案,这样我可以选择它,因为这似乎不是最好的方法

input = 
    name:'foo'
    data:'bar'
    id: 12314
    key:'children'
    ref:1

f = (input)->
    { @name, @id } = input

r = {}
f.call(r, input)
console.log r # Object {name: "foo", id: 12314}