Coffeescript 为什么'sz+“;文本”;`不同于'sz+“;文本”;`用咖啡脚本?

Coffeescript 为什么'sz+“;文本”;`不同于'sz+“;文本”;`用咖啡脚本?,coffeescript,Coffeescript,在coffeescriptsz+“text”中,与sz+“text”不同。注意+后面的空格。为什么呢?我在报纸上找不到这件事。这种语法有什么好用?这是一个bug吗?Coffescript有大量空白。如果传递参数,则不需要使用括号来调用函数abc表示a(b(c))。不确定是好是坏。但这实际上是函数式编程语言中的常见做法,其中“最重要的构造”是函数调用 第一个表达式sz+“text”被解析为 call sz UnaryPlus "text"

在coffeescript
sz+“text”
中,与
sz+“text”
不同。注意
+
后面的空格。为什么呢?我在报纸上找不到这件事。这种语法有什么好用?这是一个bug吗?

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

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

    call
sz       UnaryPlus
                  "text"
    +
sz    "text"
第二个
sz+“text”
被解析为

    call
sz       UnaryPlus
                  "text"
    +
sz    "text"
顺便说一句,不要使用
+
来压缩字符串。Coffescript支持字符串插值

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

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

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

    call
sz       UnaryPlus
                  "text"
    +
sz    "text"
第二个
sz+“text”
被解析为

    call
sz       UnaryPlus
                  "text"
    +
sz    "text"
顺便说一句,不要使用
+
来压缩字符串。Coffescript支持字符串插值

sz = 'hello' # single quotes no interpolation
"#{sz}text" # double quotes compiles to `sz + "text";`
1) 我想你把它换了。第一个(
sz+“text”)
将sz视为函数调用。2) 这有什么好用?奇怪的是sz之外的东西控制着sz是否是函数调用3)我忘了coffeescript是这么做的。但是,如果您编写类似于
(25+3)+“text”
的内容,问题仍然会出现,这是为数不多的不能使用插值的情况之一1)True.:)2) 嗯,这有点基于观点。出于某种原因,ML-FP-camp总是尽量避免使用()。我觉得如果过度使用,它肯定会使代码更难阅读3)你可以在模板字符串中使用表达式
“#{25+3}apples”
1)我想你把它换了。第一个(
sz+“text”)
将sz视为函数调用。2) 这有什么好用?奇怪的是sz之外的东西控制着sz是否是函数调用3)我忘了coffeescript是这么做的。但是,如果您编写类似于
(25+3)+“text”
的内容,问题仍然会出现,这是为数不多的不能使用插值的情况之一1)True.:)2) 嗯,这有点基于观点。出于某种原因,ML-FP-camp总是尽量避免使用()。3)你可以在模板字符串中使用表达式
“#{25+3}apples”