JavaScript中Object.is()与===运算符有什么区别

这篇文章主要介绍“JavaScript中Object.is()与===运算符有什么区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中Object.is()与===运算符有什么区别”文章能帮助大家解决问题。

公司主营业务:成都做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出子洲免费做网站回馈大家。

简而言之,双等号运算符(==)仅仅比较值,而三等号运算符(===)可以比较值和类型。但是还有第三个选项 Object.is(),除了 NaN,+0 和  -0 之外,其行为与三等号于运算符相同。

以下是一些例子,可进一步明确说明:

{} === {}; // false Object.is({}, {}); // false  1 === 1; // false Object.is(1, 1); // false  +0 === -0; // true Object.is(+0, -0); // false  NaN === NaN; // false Object.is(NaN, NaN); // true

以下代码是在 ES5 中模拟实现的Object.is:

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 });

关于“JavaScript中Object.is()与===运算符有什么区别”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


网站栏目:JavaScript中Object.is()与===运算符有什么区别
网页URL:http://azwzsj.com/article/jopshh.html