来自Underscore.js的这行是否真的需要进行相等检查?

nic*_*ckf 6 javascript equality equals

我刚看到_.isEqualUnderscore.js 的功能,代码的一部分是这样的:

if (a === b) return true;

if (typeof a !== typeof b) return false;

if (a == b) return true;
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有任何情况可以达到第三个陈述并进行评估true?

编辑:为了清楚,这不是我自己的代码我正在谈论,我正在阅读下划线的来源,特别是这一行,我很好奇为什么他们这样做.

nic*_*ckf 3

我刚刚浏览了 Underscore 存储库,发现了一个简短的讨论,其中有人问了完全相同的问题,看起来实际上是没有必要的。

遵循 ECMAScript 语言规范第 11.9.6 节和第 11.9.3 节中定义的算法似乎表明,在上述情况下,任何值对都不应返回 true。

所以,总而言之,不,那种情况是不可能的。