== vs === 区别

对于 == 来说,如果双方的类型不一样的话,就会进行类型转换

加入我们需要对比 x 和 y 是否相等,就会进行一下判断流程:

  1. 判断两者类型是否相等,相同的话就进行值得比较;
  2. 类型不相同,就会进行类型转换;
  3. 会首先判断是否在对比 null  nudefinded ,是的话会返回 true;
  4. 判断类型是否为 number  string ,如果是,会将字符串转化为number
    1 == '1'1 ==  1
  1. 判断一方是否为 Boolean, 如果是会把 Boolean 转化为 number;
    '1' == true'1' ==  11  ==  1

     

  2. 判断其中一方是否为 object 且另一方为 string、number、symbol,是的话就会把 object 转化为原始类型再进行判断
'1' == { name: 'hao' }
        ↓
'1' == '[object Object]'

更多详细请参考这篇 文章

posted @   奔走_在路上  阅读(153)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· 为DeepSeek添加本地知识库
· 精选4款基于.NET开源、功能强大的通讯调试工具
· DeepSeek智能编程
· 大模型工具KTransformer的安装
· [计算机/硬件/GPU] 显卡
点击右上角即可分享
微信分享提示