在Coffeescript中字符串文字是什么意思

在Coffeescript中字符串文字是什么意思,coffeescript,Coffeescript,本手册包含以下内容: 字符串插值、块字符串和块注释 CoffeeScript中包含Ruby风格的字符串插值。双引号字符串允许使用#{…}插值,单引号字符串是文字 有人能解释一下这里的“单引号字符串是文字”是什么意思吗 这是否只是意味着没有解释?还有更像javascripty的意思吗 我之所以这样问,是因为当使用单引号字符串和双引号字符串作为对象键时,我看到了不同之处 name = "George" "My Name: #{name}" ====> "My Name: George"

本手册包含以下内容:

字符串插值、块字符串和块注释 CoffeeScript中包含Ruby风格的字符串插值。双引号字符串允许使用#{…}插值,单引号字符串是文字

有人能解释一下这里的“单引号字符串是文字”是什么意思吗

这是否只是意味着没有解释?还有更像javascripty的意思吗

我之所以这样问,是因为当使用单引号字符串和双引号字符串作为对象键时,我看到了不同之处

name = "George"

"My Name: #{name}"    ====> "My Name: George"
'My Name: #{name}'    ====> "My Name: #{name}"
本例中的Literal表示它是您在字符串中所写的内容

出于这个原因(以及其他一些原因),当字符串是对最终用户有意义的自然语言(例如错误消息)时,我喜欢使用双引号约定。以及对程序有意义的符号(如属性名、标志、模块名等)的单引号


不,这不是你的错,单词“literal”在cs中有20个定义。

短语“单引号字符串是literal”是否更清楚?我必须承认,当我第一次在他们的文档中读到这一点时,我也感到困惑,但我认为这只是一个简单的“时态混乱”错误。好吧,这可能是我对javascript缺乏了解。我不知道字符串文字是一种东西。读一下就知道了。请注意,用单引号分隔的字符串与用双引号分隔的字符串之间没有实际的语义差异。这两种语言的处理方式完全相同。你使用的只是选择一个惯例并坚持它的问题。(显然我推荐我自己的,我在下面提到过)@geogemauer:你的意思是除了你在回答中描述的语义差异之外?@RobertHarvey,区别在于coffeescript——对于javascript(不支持插值)来说,allOk没有区别,所以我应该能够在Coffeescript中同时使用这两个词作为字符串键?是的,尝试确定Coffeescript中“literal”一词的含义对新手来说很困惑。是的,它们在javascript中没有任何区别。在coffeescript中,唯一的区别是双引号允许插值,而单引号不允许插值。