SyntaxError: 八进制转义序列不能在未标记的模板字面量或严格模式代码中使用
当在 严格模式 字符串文字或未标记的模板文字中使用八进制转义序列时,会发生 JavaScript 异常“八进制转义序列不能在未标记的模板文字或严格模式代码中使用”。
消息
SyntaxError: Octal escape sequences are not allowed in strict mode. (V8-based) SyntaxError: \8 and \9 are not allowed in strict mode. (V8-based) SyntaxError: Octal escape sequences are not allowed in template strings. (V8-based) SyntaxError: \8 and \9 are not allowed in template strings. (V8-based) SyntaxError: octal escape sequences can't be used in untagged template literals or in strict mode code (Firefox) SyntaxError: the escapes \8 and \9 can't be used in untagged template literals or in strict mode code (Firefox) SyntaxError: The only valid numeric escape in strict mode is '\0' (Safari)
错误类型
哪里出错了?
示例
八进制转义序列
js
"use strict";
"\251";
// SyntaxError: octal escape sequences can't be used in untagged template literals or in strict mode code
有效的八进制数
对于八进制转义序列,您可以改为使用十六进制转义序列
js
"\xA9";
如果您想按字面意思表示某些源文本而不解释任何转义序列,请使用 String.raw
js
String.raw`\251`; // A string containing four characters