前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 中 === 与 == 的对比

JavaScript 中 === 与 == 的对比

作者头像
鳄鱼儿
发布2024-05-21 15:32:13
540
发布2024-05-21 15:32:13
举报

前言

在 JavaScript 中,===== 都是进行相等性比较的运算符,但它们有一些重要的区别:

  • === 是严格相等运算符,它要求两个值的类型和值都相同。
  • == 是相等运算符,它只要求两个值的值相同,不考虑类型。

===

=== 是 JavaScript 中的严格相等运算符,它用于比较两个值是否完全相等。

在 JavaScript 中,两个值相等的条件是:

  • 两个值的类型相同。
  • 两个值的值相同。
代码语言:javascript
复制
console.log(1 === 1);  // true
console.log('hello' === 'hello');  // true
console.log(1 === '1');  // false
  1. 两个值的类型和值都相同,返回true
  2. 如果两个值的类型不同,即使它们的值相同,也会返回 false

==

如果你希望比较两个值是否相等,但不考虑它们的类型,可以使用双等号 ==== 是相等运算符,它只要求两个值的值相同,不考虑类型。

代码语言:javascript
复制
console.log(1 === '1');  // false
console.log(1 == '1');  // true

在某些情况下,使用 == 会更方便。例如,你可能希望对数字和布尔值进行比较,此时可以使用 ==

代码语言:javascript
复制
console.log(1 == true);  // true

上面的代码会输出 true,因为 1true 被视为相等。

总结

  1. == 运算符中,0和false是相等的。因为0 被自动转换成了布尔类型
  2. == 运算符中,1和true是相等的。同样因为1 被自动转换成了布尔类型
  3. == 运算符中,undefined和null是相等的。
  4. === 运算符中,undefined和null是不相等的。

在使用相等运算符时,要根据实际情况选择是使用 === 还是 ==。一般来说,使用双等号进行比较常常会导致意想不到的结果,因此在实际开发中,建议尽量使用严格相等运算符 ===,因为它更严谨,能够避免意想不到的结果。

另外,如果对比对象是不是相同,可以使用Object.is()

=== 的区别在于,Object.is() 会比较两个值是否为同一个对象,并且也会考虑特殊的数值(如 NaN)是否相等。

代码语言:javascript
复制
console.log(Object.is(NaN, NaN));  // true
console.log(Object.is(-0, 0));  // false
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • ===
  • ==
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档