CoffeeScript - 如何将长的解构分配分成多行

时间:2016-01-05 08:53:45

标签: javascript coffeescript coding-style

给出coffeescript形式的javascript对象:

opts = 
  longProperty: 'value1'
  veryLongProperty: 'value2'
  veryVeryLongProperty: 'value3'
  veryVeryVeryLongProperty: 'value4'

coffeescript中的正常解构声明将是这样的:

{ longProperty, veryLongProperty, veryVeryLongProperty, veryVeryVeryLongProperty } = opts

问题:是否可以优雅地将作业分成多行 最优雅的方式是什么?

2 个答案:

答案 0 :(得分:2)

答案是肯定的。

怎么样:

{ 
longProperty, 
veryLongProperty, 
veryVeryLongProperty, 
veryVeryVeryLongProperty 
} = opts

Example

答案 1 :(得分:0)

最优雅的方法是使用较短的属性名称,然后在一行中解构它们。

opts = 
  shorter: 'value1'
  nicer: 'value2'
  faster: 'value3'
  better: 'value4'

{ shorter, nicer, faster, better } = opts

如果这是不可能的,您可以尝试将属性分类为子对象:

opts = 
  subcat1:
    longProperty: 'value1'
    veryLongProperty: 'value2'
  subcat2:
    veryVeryLongProperty: 'value3'
    veryVeryVeryLongProperty: 'value4'

{ subcat1, subcat2 } = opts
console.log subcat1.longProperty

# or if you just need access to one property...

{ subcat1: {longProperty}, subcat2 } = opts
console.log longProperty

通过将您的属性分类,您甚至可以缩短其名称。