Skip to content
陈广亮的技术博客
Go back

Polyfill 学习:Object.is

=== 的两个坑:

0 === -0; // true
NaN === NaN; // false

Polyfill:

if (!Object.is) {
  Object.is = function (v1, v2) {
    // 检查 -0
    if (v1 === 0 && v2 === 0) {
      return 1 / v1 === 1 / v2;
    }
    // 检查 NaN
    if (v1 !== v1) {
      return v2 !== v2;
    }
    return v1 === v2;
  };
}

Share this post on:

Previous Post
HTTP 缓存机制详解
Next Post
函数作用域和块作用域