欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > JavaScript进阶(三十一): === 与 == 比较运算符

JavaScript进阶(三十一): === 与 == 比较运算符

2025/4/30 5:58:59 来源:https://blog.csdn.net/sunhuaqiang1/article/details/147618221  浏览:    关键词:JavaScript进阶(三十一): === 与 == 比较运算符

文章目录

    • 一、前言
    • 二、严格相等运算符 (===)
    • 三、宽松相等运算符 (==)
    • 四、推荐做法
    • 五、特殊情况

一、前言

JavaScript 中,===== 都是比较运算符,但它们在比较时有重要区别:

二、严格相等运算符 (===)

  • 不进行类型转换
  • 只有当两个操作数的值和类型都相同时才返回 true
  • 也称为"严格相等"或"恒等运算符"
5 === 5    // true
'5' === 5   // false (类型不同)
true === 1  // false
null === undefined // false

三、宽松相等运算符 (==)

  • 会进行类型转换
  • 如果类型不同,会尝试将操作数转换为相同类型后再比较
  • 也称为"抽象相等"
5 == 5     // true
'5' == 5   // true (字符串转换为数字)
true == 1  // true (布尔值转换为数字)
null == undefined // true

四、推荐做法

在大多数情况下,推荐使用 ===,因为:

  1. 它更严格,避免隐式类型转换带来的意外行为;
  2. 代码意图更清晰;
  3. 性能稍好(不需要进行类型转换);

五、特殊情况

使用 == 时,JavaScript 的类型转换规则有时会令人困惑:

'' == '0'          // false
0 == ''            // true
0 == '0'           // truefalse == 'false'   // false
false == '0'       // truefalse == undefined // false
false == null      // false
null == undefined  // true

理解这些差异有助于编写更可靠、更易维护的 JavaScript 代码。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词