前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 中 == 和 === 有什么区别?

JavaScript 中 == 和 === 有什么区别?

作者头像
海拥
发布2022-04-13 17:23:31
8450
发布2022-04-13 17:23:31
举报
文章被收录于专栏:全栈技术全栈技术

=====运算符一直是热门讨论的话题。让我们看看这两者有何不同。

双等号(==) 符号检查松散相等,而三等号(===) 符号检查严格相等。不同之处在于 (==) 松散相等将在进行比较之前尝试通过类型强制解析数据类型,而 (===) 严格相等将在数据类型不同时返回 false。下面我来给大家一些例子以便更好地理解它们。

代码语言:javascript
复制
/*示例1*/
console.log(2== "2");//输出:true
console.log(2 === "2");//输出:false

/*示例2*/
console.log(true == "1");//输出:true
console.log(true === "1");//输出:false

/*示例3*/
console.log("I am a String" == new String("I am a String."));//Output:true
console.log("I am a String" === new String("I am a String."));//Output:false

示例 1

在示例 1 中,您可以看到使用两个等号 (==) 返回 true,因为字符串“2”在进行比较之前已转换为数字2,但使用 (===) 三个等号可以看出类型是不同的2是数字,“2”是一个字符串,然后返回 false。

示例 2

在示例 2 中,您可以看到使用两个等号 (==) 返回 true,因为在 JavaScript 中true _ 为1,_false为0。因此在松散相等的比较之前将其转换为1。但是在 (===) 严格相等中,它不会被转换并返回 false

示例 3

这是一个有趣的例子。在 (===) 严格相等中,我们可以看到它返回 false。它说明了String Literals 与 String Object 不同。然而,在 (==) 松散相等中,它在比较之前将对象转换为文字,然后返回 true。

使用“==”或“===”哪个更好?

最好在代码中使用 (===) 严格相等,因为它会增加代码的清晰度并防止任何误报。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例 1
  • 示例 2
  • 示例 3
  • 使用“==”或“===”哪个更好?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档