String.raw输出“ $ {”和bacticks

时间:2018-07-12 19:07:17

标签: javascript

我正在使用String.raw来容纳内容,以容纳一个正则表达式,该正则表达式包含我拥有的RegExp中的值${somevalue}。它有效,除了似乎无法逃脱${}或反引号。 例如,这行不通。

String.raw`${}`  // error
String.raw`$\{}`  // wrong output
String.raw`\${}`  // wrong output
String.raw`\``    /wrong output

不幸的是,我能想到的最佳解决方案是以下方法。

String.rawer= (s)=>{return s.raw[0].replace(/\\\{/g,"{").replace(/\\`/g,'`').replace(/\\\\$/,'\\')}

有没有一个丑陋的解决方案,不需要定义我自己的函数和随后的函数调用?

1 个答案:

答案 0 :(得分:2)

我认为这看起来比您拥有的更干净

console.log(String.raw`${"${}"}`)

您必须将${}放在${}内,并在其中加上引号。但这是一个令人烦恼的问题,实际上我没有意识到它的简单解决方案。