我偶然发现了这个Array.prototype.includes的polyfill.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes.
是否有理由在第21,22行将变量与自身进行比较?
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;
}
解决方法
是的,这是||的第二个操作数检查searchElement和currentElement是否都是
NaN – JavaScript中的
only value不是===自身.包括应该使用
SameValueZero equivalence algorithm,它不同于
Strict Equality Comparison Algorithm(
===使用)或
SameValue algorithm(
Object.is使用).