24

我正在使用 JavaScript ES6 Docs Here的新模板文字(模板字符串)语法,我不太确定如何转义用于破坏字符串以添加参数的美元符号。

这是我正在尝试做的事情:

var response = `I consent to my credit card being charged in the amount of
                 $ ${ total } for the purchase of ${ item.title } and any
                 applicable sales tax.`

效果很好......但我真的更喜欢没有那个空间$ ${title}

这使得最终结果看起来像:

...购买金额为 25.99 美元...

我真的更喜欢

...购买金额为 25.99 美元...

我想这没问题,或者显然我可以使用仍然有效的旧方法,但很高兴知道如何解决这个问题。我链接到 Mozilla 文档,但我在其中找不到任何关于它的内容,希望有人知道如何解决这个问题

4

5 回答 5

34

唯一$不产生文字$的情况是在 a 之前{,否则您不需要转义它。

var response = `You have $${money}`

因此确实有效。如果您需要转义任何内容,反斜杠\也是模板字符串中的转义字符,因此(虽然不必要)以下内容也可以:

var response = `You have \$${money}`
于 2016-06-26T22:21:57.200 回答
15
var response = `I consent to my credit card being charged in the amount of
                 $${ total } for the purchase of ${ item.title } and any
                 applicable sales tax.`
于 2016-06-26T22:16:33.590 回答
13

在美元符号前面放一个反斜杠是我想到的第一件事,它有效:

\${DEPLOYMENT_NAME}
于 2018-06-01T14:35:11.500 回答
1

这对我有用。

var response = `You have \$\{money}`;
于 2018-05-17T05:23:13.507 回答
0

这行得通。

<v-btn :href="mail">
   Send Mail
</v-btn>
const mail = 'mailto:berkaynayman4@gmail.com'
于 2022-01-31T08:15:40.790 回答