前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript操作符之相等操作符

JavaScript操作符之相等操作符

作者头像
青年码农
发布2021-03-23 15:09:13
3230
发布2021-03-23 15:09:13
举报
文章被收录于专栏:青年码农青年码农

JavaScript总是让人感到意外,就像==和===,!=和!==,总是让人捉摸不透。今天就说说这四个操作符。

1 ==和===

判断两个值是否相等,我们一般是a==b来判断,其他的编程语言也是一样,但是在JavaScript中,还有===这种操作。

1.1 ==

两边值类型不同的时候,要先进行类型转换,再比较。

代码语言:javascript
复制
console.log(1 == 1)            //true
console.log("1" == 1)          //true
console.log("a" == 1)          //false
console.log(undefined == null) //true

遵循如下规则:

  • 如果两个值具有相同类型,会进行===比较,返回===的比较值
  • 如果两个值不具有相同类型,也有可能返回true
  • 如果一个值是null另一个值是undefined,返回true
  • 如果一个值是string另个是number,会把string转换成number再进行比较
  • 如果一个值是true,会把它转成1再比较,false会转成0
  • 如果一个值是Object,另一个是number或者string,会把Object利用 valueOf()或者toString()转换成原始类型再进行比较

1.2 ===

恒等,不做类型转换,类型不同的一定不等

代码语言:javascript
复制
console.log(1 === 1)            //true
console.log("1" === 1)          //false
console.log("a" === 1)          //false
console.log(undefined === null) //false

遵循如下规则:

  • 如果两个值类型不同,返回false
  • 如果两个值都是number类型,并且数值相同,返回true
  • 如果两个值都是stirng,并且两个值的String内容相同,返回true
  • 如果两个值都是true或者都是false,返回true
  • 如果两个值都是指向相同的Object,Arraya或者function,返回true
  • 如果两个值都是null或者都是undefined,返回true

2 !=和!==

2.1 !=

和==类似,会存在隐式类型转换

代码语言:javascript
复制
console.log(1 != 1)            //false
console.log("1" != 1)          //false
console.log("a" != 1)          //true
console.log(undefined != null) //false

2.2 !==

和===类似,不会存在类型转换,类型不同,一定!==,一定是true

代码语言:javascript
复制
console.log(1 !== 1)            //false
console.log("1" !== 1)          //true
console.log("a" !== 1)          //true
console.log(undefined !== null) //true
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 青年码农 微信公众号,前往查看

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

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

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