我偶然发现了这个Array.prototype.includes的polyfill。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes。 是否有理由在第21,22行上将变量与自身进行比较?
if (searchElement === currentElement ||
(searchElement !== searchElement && currentElement !== currentElement)) {
return true;
}
答案 0 :(得分:10)
是的,||
的第二个操作数确实检查searchElement
和currentElement
NaN
是否为only value - JavaScript中的SameValueZero
equivalence algorithm不是Strict Equality Comparison Algorithm 1}}对自己。 ===
应该使用===
,这与SameValue
algorithm(由Object.is
使用)或{{3}}(在{{3}中使用)不同})。