热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript中的相等运算符和Object.is()方法

本文详细介绍了JavaScript中的相等运算符(==)、全等运算符(===)以及Object.is()方法,并通过示例代码展示了它们的区别和使用场景。

文章目录

  • Javascript 相等运算符和 Object.is() 方法
      • 相等运算符(==)
      • 全等运算符(===)
      • Object.is() 方法


Javascript 相等运算符和 Object.is() 方法

相等运算符(==)

相等运算符(==)会先进行类型转换,将两个操作数转换为相同的类型,然后再比较两个值。

console.log("10" == 10); // true
console.log(1 == true); // true
console.log(+0 == -0); // true
console.log(NaN == NaN); // false


全等运算符(===)

全等运算符(===)不会进行类型转换,只有当两个值的类型和值都相同时才会返回 true。

console.log("10" === 10); // false
console.log(1 === true); // false
console.log(+0 === -0); // true
console.log(NaN === NaN); // false


Object.is() 方法

Object.is() 是 ES6 新增的方法,用于比较两个值是否严格相等(即在所有情况下都返回相同的布尔值),与 === 类似,但在某些特殊情况下行为不同。

console.log(Object.is("10", 10)); // false
console.log(Object.is(1, true)); // false
console.log(Object.is(+0, -0)); // false
console.log(Object.is(NaN, NaN)); // true

总的来说,建议在比较值的相等性时优先使用全等运算符(===),因为它更加严格和可靠。而 Object.is() 则可以用于特殊情况下的比较,如判断 NaN 或 +0/-0。相等运算符(==)则应尽量避免使用,因为其类型转换规则容易引起混淆和错误。


推荐阅读
author-avatar
其穗茹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有