Cha*_*ang 8 javascript ruby coffeescript
我来这个问题:
f = (param) ->
console.info '#{param}'
f(1)
Run Code Online (Sandbox Code Playgroud)
结果是 #{param}
当我用双引号括起字符串时,这只是打印1.我也在Ruby中测试过它,它的行为是一样的.但这恰好与CoffeeScript.org中的规则相矛盾:
CoffeeScript的黄金法则是:"它只是JavaScript".
因为我认为在Javascript中,单引号和双引号被平等对待.我经常不使用Ruby.有谁能解释为什么?
非常感谢.
Jus*_*ner 15
CoffeeScript中包含Ruby样式的字符串插值.双引号字符串允许使用#{...}进行插值,单引号字符串是字面值.
Pet*_*ons 11
"它只是javascript"意味着它从根本上编译为普通的JavaScript,并没有尝试采用完全不同的编程范例并将其编译为JavaScript.CoffeeScript主要关注避免"坏部分",样板文件和不必要的语法,而不是引入完全不同的基本结构,如数据类型等.
JavaScript没有字符串插值.CoffeeScript从Ruby中带来了这一点.禁用单引号只是为了获得一个没有插值解释的字符串的干净方法.
不要把它只是JavaScript意味着它是JavaScript.这是一种风味/变体/兄弟姐妹.
| 归档时间: |
|
| 查看次数: |
4149 次 |
| 最近记录: |