发现浏览器控制台一点神奇的现象(可能是 bug?)

2 天前
 Plumbiu

谷歌 131.0.6778.109 版本

控制台输入反斜杠 \ 加一个不属于转义字符的字符,例如 {,会出现下面的情况

'{' -> '{'

'\{' -> '\{'

'\{' -> '\{'

'\\{' -> '\\{'

在 node.js 和 script 标签里打印的都是下面(我觉得是比较合理的):

'{' -> '{'

'\{' -> '{'

'\{' -> '{'

'\\{' -> '\{'

这难道又是 js 的什么神奇特性吗

1761 次点击
所在节点    程序员
11 条回复
Plumbiu
2 天前
发现 V 站转义了,图片 [console]( https://imgur.com/wxKoNgK)
Plumbiu
2 天前
node 里打印的结果,https://imgur.com/ZqfEL2K
xiangyuecn
2 天前
看见前面的 ' 了没有,你输入
`1
2`
这个字符串更明显

显示字符串里面的内容,用 console.log
shintendo
2 天前
REPL 和 console.log()是两回事

shintendo
2 天前
看你一楼的图,结果是带引号的,二楼的图结果不带引号
Plumbiu
2 天前
@shintendo 原来是这个原因,学到了
zhuisui
2 天前
区分清楚,字符序列分别在编程语言中的字符串类型表示和其本身实际的字符内容。
Plumbiu
2 天前
@zhuisui 为啥一个 \ 加 { 就不显示实际内容了,而显示转义内容,我又被绕晕了
Opportunity
2 天前
Plumbiu
2 天前
@Opportunity 感谢,明白了
codehz
2 天前
这个其实我觉得是一个语言上的 bug ,或者说设计偷懒了,但现在已经成为 feature 了! Tagged templates 可以拿到转义之前的原始文本( String.raw`\{`就能拿到原始的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1096010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX