如何转义 JavaScript 原始字符串中的反引号?

Arj*_*jun 9 javascript escaping ecmascript-6 template-literals

我有一个原始字符串(使用String.raw方法和模板文字创建),它应该包含几个反斜杠和反引号。由于即使在原始字符串中也需要转义反引号,因此我使用反斜杠来转义它们。虽然它确实转义了反引号,但反斜杠也会随之显示:

let rawString = String.raw`
  __    
 /  |   
 \`| |   
  | |   
 _| |_  
|_____| 


`;

console.log(rawString);
Run Code Online (Sandbox Code Playgroud)

  • 如何转义反引号,使其前面没有多余的反斜杠?

一些澄清

  • 该字符串必须是原始字符串。
  • 反引号是必要的。它们不能用单引号或类似的东西替换。

Arj*_*jun 12

因此,在写问题时,我自己想到了一个想法,令我大为惊讶的是——它有效!


不要使用反斜杠进行转义,而是使用${...}( "placeholder" 进行字符串插值); 像这样:

let rawString = String.raw`
  __    
 /  |   
 ${"`"}| |   
  | |   
 _| |_  
|_____| 


`;

console.log(rawString);
Run Code Online (Sandbox Code Playgroud)