我不知道如何正确地说出来,所以我无法通过Google找到答案,但这基本上是我的问题:
我希望我的CoffeeScript在JS中输出这样的内容:(我正在开发一个Node应用程序)
var someapp = require('someapp')
var another = require('another')
someapp.configure(function() {
someapp.use(another.do('argument'));
});
所以我用这种方式在CoffeeScript中写道:
someapp = require 'someapp'
another = require 'another'
someapp.configure () ->
someapp.use another.do 'argument'
但相反,我得到了这个输出:
some.configure(function() {
return someapp.use(another["do"]('argument'));
});
显然,我最大的问题是我在CoffeeScript文档或其他地方找不到正确语法的行return someapp.use(another["do"]('argument'));
,所以我希望有人可以指出我正确的方向。提前致谢。
答案 0 :(得分:1)
根据docs,
CoffeeScript提供
do
关键字,它立即调用传递的函数,转发任何参数。
因此,coffeescript输出another["do"]
以避免使用do
保留关键字。
此外,在这种情况下,函数another.do
是恰好是函数的对象属性。可以使用another.do()
和another["do"]()
来访问它。