ES6:创建 ASCII 字符串的错误字符转义序列

ES6: Bad character escape sequence creating ASCII string

这是我的代码:

let padded = "03";
ascii = `\u00${padded}`;

但是,我收到了来自 Babel 的 Bad character escape sequence。我试图结束:

\u0003

ascii 变量中。我做错了什么?

编辑:

最后 ascii = (eval('"\u00' + padded + '"'));

What am I doing wrong?

Unicode 转义序列基本上是原子的。你不能真正动态地构建一个。模板文字基本上执行字符串连接,因此您的代码等同于

'[=10=]' + padded

现在应该很明显为什么会出现该错误。如果你想获得相应的 unicode 字符,你可以使用 String.fromCodePoint or String.fromCharCode:

String.fromCodePoint(3)

如果您想要一个 字面意思 包含字符序列 \u0003 的字符串,那么您只需转义转义字符以生成文字反斜杠:

`\u00${padded}`