将变量与自身进行比较

sto*_*fel 8 javascript arrays include polyfills

我偶然发现了这个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;
}
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 14

是的,对本次操作||并检查是否都searchElementcurrentElementNaN-的唯一价值在JavaScript中,是不是===给自己.includes应该使用SameValueZero等价算法,它不同于严格的等式比较算法(由...使用===)或SameValue算法(用于Object.is).