Javascript CoffeeScript-如何将一个长的分解任务分解为多行

Javascript CoffeeScript-如何将一个长的分解任务分解为多行,javascript,coffeescript,coding-style,Javascript,Coffeescript,Coding Style,给定一个coffeescript形式的javascript对象,如下所示: opts = longProperty: 'value1' veryLongProperty: 'value2' veryVeryLongProperty: 'value3' veryVeryVeryLongProperty: 'value4' { longProperty, veryLongProperty, veryVeryLongProperty, veryVeryVeryLongPropert

给定一个coffeescript形式的javascript对象,如下所示:

opts = 
  longProperty: 'value1'
  veryLongProperty: 'value2'
  veryVeryLongProperty: 'value3'
  veryVeryVeryLongProperty: 'value4'
{ longProperty, veryLongProperty, veryVeryLongProperty, veryVeryVeryLongProperty } = opts
coffeescript中的正常解构语句如下所示:

opts = 
  longProperty: 'value1'
  veryLongProperty: 'value2'
  veryVeryLongProperty: 'value3'
  veryVeryVeryLongProperty: 'value4'
{ longProperty, veryLongProperty, veryVeryLongProperty, veryVeryVeryLongProperty } = opts
问题:是否可以优雅地将作业分成多行?最优雅的方式是什么?答案是肯定的

那么:

{ 
longProperty, 
veryLongProperty, 
veryVeryLongProperty, 
veryVeryVeryLongProperty 
} = opts

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

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

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

嘿@FrédéricHamidi,对不起,我应该问什么是最优雅/传统的方式来做编辑的问题,这样它就不会被删除(主要基于问题)。谢谢@apxp,但这是最干净的方式吗?有什么可以更干净更简单,像那个答案?它也是可读的。