Javascript CoffeeScript-如何将一个长的分解任务分解为多行
给定一个coffeescript形式的javascript对象,如下所示: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
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,但这是最干净的方式吗?有什么可以更干净更简单,像那个答案?它也是可读的。