nik*_*oss 5 javascript terminal ansi-escape node.js
在 ES5 及以下版本中,我可以在 JS 字符串中使用 ANSI 颜色,例如
"\033[31m Hello World\033[0m"。
使用 ES6 模板字符串时,我收到错误:
SyntaxError: Octal literals are not allowed in template strings.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过\u{31m},但也没有成功。
根据标准,八进制转义在“严格模式”下不被处理。标准中没有给出任何理由,但重复使用术语“传统”与“八进制”可能是试图说服读者,该标准的唯一目的是使用 UTF-8 的 Web 浏览器。
您的试验\u{31m}偏离了目标:花括号位于十六进制数字周围。你的意思可能是这样的:
"\u{1b}[31m Hello World\u{1b}[0m"
Run Code Online (Sandbox Code Playgroud)
这将是相同的
"\u001b[31m Hello World\u001b[0m"
Run Code Online (Sandbox Code Playgroud)
or是转义字符(请参阅 ECMA "\u{1b}"- "\u001b"35 和 ECMA-48),并且不可打印。字符串中的其他字符是可打印的(并且不必转义)。
进一步阅读:
| 归档时间: |
|
| 查看次数: |
3023 次 |
| 最近记录: |