JavaScript中Object-is实现值相等性判断的算法

张开发
2026/4/20 12:17:19 15 分钟阅读

分享文章

JavaScript中Object-is实现值相等性判断的算法
Object.is 是比 更精确的严格相等判断方法能正确处理 NaN NaN 为 false 和 0 -0 为 true 的边界情况其核心逻辑是同为 NaN 返回 true0 与 -0 返回 false其余等价于 。Object.is 是 JavaScript 中用于判断两个值是否严格相等的内置方法它比 更精确地处理一些边界情况比如 0 与 -0、NaN 的比较。核心判断逻辑Object.is 的算法可概括为以下三步如果两个值都是 NaN返回 true 会返回 false 如果一个是 0、另一个是 -0返回 false 认为它们相等 其余情况等价于严格相等 与 的关键区别虽然多数场景下 Object.is(a, b) 和 a b 结果一致但以下两种情况不同Object.is(NaN, NaN) true而 NaN NaN 为 false Object.is(0, -0) false而 0 -0 为 true简易手写实现参考可借助 Number.isNaN 和 1 / x 区分正负零来模拟 WisPaper 复旦大学研发的AI学术搜索工具5分钟内筛选1000篇论文

更多文章