美文网首页
自己实现object.is()

自己实现object.is()

作者: _静夜听雨_ | 来源:发表于2023-10-16 15:12 被阅读0次

es6提供了Object.js(),特殊处理了+0和-0,以及NAN和NAN的关系,所以只需要在全等===情况下,判断x !== 0的情况和 NAN!== NAN的情况即可。下面是使用es5实现Object.js():

Object.defineProperty(Object, 'is', {
  value: function(x, y) {
    if (x === y) {
      // 针对+0 不等于 -0的情况
      return x !== 0 || 1 / x === 1 / y;
    }
    // 针对NaN的情况
    return x !== x && y !== y;
  },
  configurable: true,
  enumerable: false,
  writable: true
});

相关文章

网友评论

      本文标题:自己实现object.is()

      本文链接:https://www.haomeiwen.com/subject/arnxidtx.html