比较变量与自身
Posted
技术标签:
【中文标题】比较变量与自身【英文标题】:Comparing a variable with itself 【发布时间】:2015-01-24 11:50:21 【问题描述】:我偶然发现了这个 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;
【问题讨论】:
【参考方案1】:是的,||
的第二个操作数确实会检查 searchElement
和 currentElement
是否都是 NaN
- JavaScript 中的 only value 不是 ===
本身。 includes
应该使用SameValueZero
equivalence algorithm,它不同于Strict Equality Comparison Algorithm(由===
使用)或SameValue
algorithm(在Object.is
中使用)。
【讨论】:
以上是关于比较变量与自身的主要内容,如果未能解决你的问题,请参考以下文章