如何防止字符'\'转义ES6模板字符串?

And*_*ena 4 javascript ecmascript-6 template-strings

在ES6中,我可以这样做:

let myString = `My var: ${myVar}`;
Run Code Online (Sandbox Code Playgroud)

那将自动替换${myVar}为实际值myVar.完善.

但是,如果我有这样的东西怎么办?

let myString = `My var: \${myVar}`;
Run Code Online (Sandbox Code Playgroud)

角色\正在逃避${}构造.它只是一个常规字符串.

在这种情况下我怎么能\ 逃脱

Ber*_*rgi 10

如果要在模板字符串中使用文字反斜杠,则需要将其转义:

let myVar = "test";
let myString = `My var: \\${myVar}`; // "My var: \test"
Run Code Online (Sandbox Code Playgroud)

  • 刚刚使用 Node.js 尝试了上述操作 - 版本 v4.3.1 和 v.7.5.0,上面建议的答案不起作用。输出是“我的变量:\\test” (2认同)

Bru*_*uno 9

尝试使用String.raw

const name = String.raw`
  ____                 _ 
 |  _ \               (_)
 | |_) | ___ _ __ __ _ _ 
 |  _ < / _ | '__/ _' | |
 | |_) |  __| | | (_| | |
 |____/ \___|_|  \__, |_|
                  __/ |  
                 |___/   
`
Run Code Online (Sandbox Code Playgroud)