为了账号安全,请及时绑定邮箱和手机立即绑定

为什么{} + {}在Chrome控制台中不再为NaN?

为什么{} + {}在Chrome控制台中不再为NaN?

jeck猫 2019-10-28 14:43:06
我今天注意到,NaN当您输入{}+{}控制台时,Chrome 49不再输出。而是输出字符串[object Object][object Object]。为什么是这样?语言改变了吗?
查看完整描述

3 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

现在,Chrome devtools会自动在隐含的一对括号(请参阅代码)中包装所有以开头{和结尾的内容,以强制将其评估为表达式。这样,现在创建一个空对象。如果您回顾历史记录(),则会看到此内容,前一行将包含在中。}{}↑(…)


为什么?我不知道,但是我可以猜到它减少了对于不了解block-vs-object-literal的新手的困惑,如果您只想评估一个表达式,它也将更加有用。


实际上,这就是原因,如错误499864中所述。纯粹的便利。而且因为节点REPL也具有它(请参见代码)。


查看完整回答
反对 回复 2019-10-28
?
白衣非少年

TA贡献1155条经验 获得超0个赞

如果选中此选项后单击向上箭头,则会注意到而不是{} + {}显示({} + {}),结果为"[object Object][object Object]"。


相比之下,在Firefox中,{} + {}仍然会显示NaN,但是如果您这样做({} + {}),也会显示"[object Object][object Object]"。


因此,当Chrome浏览器看到此操作时,它似乎会自动添加周围的括号。


查看完整回答
反对 回复 2019-10-28
  • 3 回答
  • 0 关注
  • 365 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号