在 javascript 中,您会编写如下内容:
method.apply(this,arguments);
但是,您如何将其翻译为咖啡脚本?:
method.apply(@, arguments)
arguments 变量是否有不同的名称?
在 javascript 中,您会编写如下内容:
method.apply(this,arguments);
但是,您如何将其翻译为咖啡脚本?:
method.apply(@, arguments)
arguments 变量是否有不同的名称?
使用 splats 你可以使用更简洁的 coffeescript 语法:
caller: ->
@method arguments...
以上编译为以下Javascript:
caller: function() {
return this.method.apply(this, arguments);
}
arguments
也可以在咖啡脚本中使用。所以你可以这样做:
method.apply @, arguments
如果您希望它像 javascript 一样工作,您可能可以,但是对于您可能想要完成的工作,coffeescript 有“splats”。这是来自 coffeescript.org 的解释:
gold = silver = rest = "unknown"
awardMedals = (first, second, others...) ->
gold = first
silver = second
rest = others
contenders = [
"Michael Phelps"
"Liu Xiang"
"Yao Ming"
"Allyson Felix"
"Shawn Johnson"
"Roman Sebrle"
"Guo Jingjing"
"Tyson Gay"
"Asafa Powell"
"Usain Bolt"
]
awardMedals contenders...
alert "Gold: " + gold
alert "Silver: " + silver
alert "The Field: " + rest