对象Coffeescript中的多个赋值

时间:2015-07-27 17:28:30

标签: coffeescript

我有以下Coffeescript代码

module.exports = QuickEditor =
  quickEditorView : null
  panel : null
  subscriptions : null
  searcher : null

  activate: (state) -> 
  ...

我试图清理一下。我知道coffeescript有一个多重赋值运算符,如

[cow, duck] = ["moo", "quack"]

但是尝试执行以下操作:

module.exports = QuickEditor =
  [quickEditorView, panel, subscriptions, searcher] : []

  activate: (state) -> 
  ...

引发错误。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

这取决于你的意思"清理"你正在尝试通过解构(-ed?)任务来完成什么。

如果您希望您的代码简洁明了,那么您可以比第一个块好得多。国际海事组织,对于四个零,最好只是明确。任何更多的抽象都会伤害到易读性,而不是它的帮助。

如果您想为高尔夫目的保存每个最后一个角色,您可以指定a=null或其他内容。这可以节省12-7 = 5个字符。

如果您正在查看许多属性(数百个或更多)并且您想表达"将所有内容设置为null"的想法,您可以做某事像这样:

  quickEditor[p] = null for p in 'quickEditorView panel subscriptions searcher bippity boppity boo veni vidi vici'.split(' ')

但我仍然可能更喜欢明确的做法。