"和'之间的区别[重复]
Posted
技术标签:
【中文标题】"和\'之间的区别[重复]【英文标题】:Difference between " and ' [duplicate]"和'之间的区别[重复] 【发布时间】:2012-11-24 20:05:21 【问题描述】:可能重复:When to Use Double or Single Quotes in javascriptsingle quotes versus double quotes in js
我正在尝试构建一个 Node.js Express Web 应用程序,在教程中他们经常使用 '
而不是 "
,但没有解释原因。
有人可以解释一下区别吗?这是 JavaScript 特有的,还是也适用于其他语言?
例子:
app.configure('dev')
app.get("/", function (req, res)
谢谢:)
【问题讨论】:
我的意见:在 javascript 中创建字符串文字时应始终使用单引号(警告:JSON)。这是因为它使从服务器端语言注入的 javascript 变得不那么痛苦,因为它们通常使用双引号作为字符串。 【参考方案1】:在 JavaScript 中,两者是等价的。唯一的区别是在单引号字符串中你不必转义"
,反之亦然:
'dev' === "dev"
'd"v' === "d\"v"
'd\'v' === "d'v"
大多数其他语言以某种方式区分这两者。例如,在 Bash 和 Perl 中,''
防止变量在内部展开,所以'a$b'
是实际的字符串a$b
,而"a$b"
是由a
加上变量@987654328 的值组成的字符串@。在 C、C++、C# 和 Java 中,''
用于创建单个字符常量,因此'a'
表示字符a
,而"a"
表示包含该字符的字符串。
【讨论】:
非常感谢,让一切变得清晰:) 所以我写 app.configure("dev") 没问题? express 不会为此打我的脸吗?【参考方案2】:Javascript 字符串字面量可以用'
或"
括起来;它们之间没有区别(嵌套除外)。
在大多数其他语言中,情况并非如此。
【讨论】:
稍微扩展一下:这里没有“共同”意味着 JavaScript 违反了。不同的语言做完全不同的事情。 Ruby 及其前身插入双引号字符串并将单引号字符串作为文字; C 对字符串使用双引号,对字符使用单引号; Lisp 对字符串使用双引号,对不被解释的数据使用单引号。以上是关于"和'之间的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章