我正在使用一个生成JavaScript的系统,并且我想最大程度地减少对字符串文字进行转义的次数。我目前的方法是使用String.raw
模板文字函数,这样我就不必担心\
这样的字符会在输出中被解释。
唯一的问题是字面反引号(即`
字符)仍需要转义,因为否则它们会提早终止字符串。它们不能作为\`
进行转义,因为不遵守转义序列。
我能想到的最好的选择是使用占位符(例如String.raw`foo${"`"}bar`
来获得"foo`bar"
),但是我有点担心评估占位符的运行时成本。还有其他选择吗?