为什么在Edge浏览器中记录一个空字符串变量会返回一个对象

12

我在Edge、Firefox和Chrome的控制台上运行以下脚本:

var test=''; console.log(test);

在Firefox和Chrome上,我得到一个空字符串。 但是,在Edge上,我得到以下结果:

{
    "notifyType": "consoleItemLog",
    "message": {
        "message": "",
        "styles": "",
        "hasFormatString": true,
        "fileUrl": "eval code (1)",
        "lineNumber": 1,
        "columnNumber": 14
    }
} 

我可以确认在两台使用Edge的计算机上发生了这种情况。有人可以告诉我为什么会这样,并且这意味着什么吗?


1
所有浏览器都有自己在控制台中表示值的方式。它们并不一致。 - Rajesh
3
乍一看,这似乎不是一种合理且有用的表示空字符串的方式。不幸的是我没有 Edge,因此无法深入了解,但这很有趣。 - Denys Séguret
1
@Rajesh 如果他们想的话,当然可以将“bran flakes”输出到控制台。我认为这里更好的问题是:为什么在这种情况下不一致? - Neil
1
这是一个不错的发现。我会认为这是Edge的一个bug,因为它不应该这样行为。浏览器有自己显示对象或数组的方式是可以接受的。但是这个呢? - KarelG
1
console.log("") 也会发生这种情况吗?对于 console.log(console.log("")),你得到了什么?似乎控制台方法无意中返回了内部值,而不是 undefined - Bergi
显示剩余12条评论
1个回答

2
这个问题已经在您的错误报告的响应中得到了修复。它说“已在构建#17.17681中修复”,这意味着此修复将随Windows 10 RS5一起发布(17681是内部构建;最接近的Insider构建17682可能包含或不包含此修复,而且距离本文撰写时间已经有将近一个月)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接