【发布时间】:2011-06-21 21:54:55
【问题描述】:
这行得通:
myfunc = () ->
id: 3
name: 'myname'
但我想明确说明返回对象。
myfunc = () ->
return
id: 3
name: 'myname'
但我收到“意外的'INDENT'”错误。上面的代码有什么问题?
【问题讨论】:
-
你最好不要显式地返回它,因为咖啡脚本总是隐式地返回东西。明确地这样做不仅是多余的,而且可能会诱使读者相信它会有所作为,并且没有明确返回值的函数会像在 JS 中一样返回
undefined。 -
@flyingsheep “不仅是多余的,而且可能会诱使读者相信它会有所作为”这是一个关键点,适用于许多不同的地方。
-
你不应该假设每个人都是白痴。有经验的 CoffeeScript 用户经常使用显式的返回语句。就个人而言,我只对以单个表达式作为主体的函数使用隐式返回,这是一种流行的方法。不使用语言特性是因为你假设人们会被一些基本的东西弄糊涂,这是一些真正糟糕的代码的秘诀。
标签: coffeescript