为什么`sz +“text”与coffeescript中的`sz +“text”不同?

时间:2016-05-09 18:24:52

标签: coffeescript

在coffeescript中sz +"text"sz + "text"不同。请注意+之后的空格。这是为什么?我在the coffeescript website上找不到它。这种语法有什么用?这是一个错误吗?

1 个答案:

答案 0 :(得分:2)

Coffescript有很多空白。如果要传递参数,则不需要使用括号来调用函数。 a b c表示a(b(c))。不确定它是好还是坏。但这实际上是函数式编程语言中的常见做法,其中“最重要的结构”是函数调用。

第一个表达式sz +"text"被解析为

    call
sz       UnaryPlus
                  "text"

第二个sz + "text"被解析为

    +
sz    "text"

BTW不要使用+来连接字符串。 Coffescript支持字符串插值。

sz = 'hello' # single quotes no interpolation
"#{sz}text" # double quotes compiles to `sz + "text";`