在JavaScript中,`和'是两种不同的引号符号。它们在语法上有一些区别。 首先,`是ES6中引入的模板字符串的标识符。它允许你在字符串中插入变量或表达式,并使用`${}`语法来引用它们。这使得字符串拼接更加简洁和易读。 另一方面,'是用于表示普通字符串的引号符号。它只能包含纯文本,不能插入变量或表达式。 因此,如果你需要在字符串中插入变量或表达式,你应该使用`。如果你只需要表示纯文本字符串,你可以使用'。 总的来说,`和'在JavaScript中有不同的用途和语法规则,你应该根据具体的需求选择使用哪种引号符号。

26
最近遇到了一些使用`'的JS代码。我搞不清楚每个撇号是否有不同的用法。有吗?

2
不是一个撇号。它是一个重音符号。 - Andrew
3
请查看模板字符串 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/template_strings - elclanrs
2
你是指模板字符串吗? https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/template_strings - Ivan
Relevant - Sterling Archer
没错,模板字符串,这就是 ``` 的全部内容。 - roscioli
1个回答

48

'"表示一个字符串

`表示一个模板字符串。模板字符串具有一些普通字符串所没有的能力。最重要的是,你可以进行插值:

var value = 123;
console.log('test ${value}') //=> test ${value}
console.log(`test ${value}`) //=> test 123

还有多行字符串:

console.log('test
test')
// Syntax error

console.log(`test
test`)
// test
// test

他们还有一些其他的技巧,关于模板字符串的更多内容请参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings

Babel为我解决了IE11中的反引号问题。 - matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接