gpt4 book ai didi

javascript - 如何将截取的 javascript 转换为 coffeescript

转载 作者:行者123 更新时间:2023-11-30 18:11:30 25 4
gpt4 key购买 nike

//Trying to convert zis javascript...
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});

//To zis coffee-script
http.createServer(app).listen app.get('port'), (x) ->
console.log "Express server listening on port " + app.get 'port'

我的问题是:当我提供 app.get('port') 的值作为“listen”的第一个参数时,是否必须使用括号如果我在不使用括号的情况下编写代码段:

http.createServer(app).listen app.get'port' (x) ->
console.log "Express server listening on port " + app.get 'port'

回调函数是否会作为第二个参数传递给 app.get?

最佳答案

简而言之,转换看起来像这样:

http.createServer(app).listen app.get('port'), ->
console.log "Express server listening on port #{app.get 'port'}"

更多解释:

CoffeeScript 的括号是可选的,除非该函数不带参数。因此,如果您正在调用一个带有两个参数的函数,则以下两个是等价的:

Math.max(5, 12)
Math.max 5, 12

Math.max 一样,http.createServer(app).listen 似乎有两个参数:一个端口(似乎)和一个回调函数。

你也可以这样写,这样写起来会更清晰一些。

serverListeningCallback = ->
console.log "Express server listening on port #{app.get 'port'}"

http.createServer(app).listen app.get('port'), serverListeningCallback

我会推荐顶部的解决方案,但上面的内容可能会使解决方案更加清晰。


PS:备注CoffeeScript's string interpolation .以下内容在 CoffeeScript 中是等效的:

"My favorite number is " + Math.random()
"My favorite number is #{Math.random}"

关于javascript - 如何将截取的 javascript 转换为 coffeescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com