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 docs にリンクしましたが、そこには何も見つかりません。誰かがこれを修正する方法を知っていることを願っています

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 に答える
0

これは機能します。

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