开发者社区> 问答> 正文

== 操作符的强制类型转换规则?

== 操作符的强制类型转换规则?

展开
收起
剑曼红尘 2020-04-02 13:44:04 1722 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    如果要比较的两个项是同种类型的,那么 == 就会返回 === 操作符的执行结果。举个例子? 2 == 3 最后会返回 2 === 3 的执行结果
    如果要比较的两个项是不同类型的,== 就会对其中一个或两者都进行类型转换然后再比较。比如 2 == '3' 就会变成 2 == 3 最后会比较 2 === 3
    
    2020-04-02 20:00:41
    赞同 展开评论 打赏
  • (1)字符串和数字之间的相等比较,将字符串转换为数字之后再进行比较。

    (2)其他类型和布尔类型之间的相等比较,先将布尔值转换为数字后,再应用其他规则进行比较。

    (3)null 和 undefined 之间的相等比较,结果为真。其他值和它们进行比较都返回假值。

    (4)对象和非对象之间的相等比较,对象先调用 ToPrimitive 抽象操作后,再进行比较。

    (5)如果一个操作值为 NaN ,则相等比较返回 false( NaN 本身也不等于 NaN )。

    (6)如果两个操作值都是对象,则比较它们是不是指向同一个对象。如果两个操作数都指向同一个对象,则相等操作符返回 true,否则,返回 false

    2020-04-02 13:44:19
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载