Chrome 和 Firefox 中有关 TypeError 的详细错误消息(访问的内容和参考)

Detailed error message on TypeError in Chrome and Firefox (what is accessed AND on which reference)

我注意到 Chrome 和 Firefox 在访问未定义/空引用上的变量时给出不同的错误消息。

let a = {b: {c: null}};
a.b.c.d;

Chrome 中的错误消息:Uncaught TypeError: Cannot read property 'd' of null
Firefox 中的错误消息:Uncaught TypeError: a.b.c is null

所以 Firefox 告诉我空引用的表达式,但不是我试图访问的内容。
相反,Chrome 告诉我我正在尝试访问什么,并且使用的引用为空,但不是引用的表达式。

我会在调试时考虑这两个有价值的信息。特别是当 JS 代码被缩小并且行号不再与开发代码匹配时。

是否可以从浏览器获取这两种信息?

当您使用 Firefox Nightly 和 Firefox Developer Edition 时,您会收到以下错误消息:

Uncaught TypeError: can't access property "d", a.b.c is null

这只发生在这些版本的 Firefox 中,因为尝试更改错误消息会破坏网站。 Bug 1259822