我偶然发现了这个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
使用).