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