== 与 ===

JavaScript 中的 == 和 === 是两个不同的相等比较运算符:

  • **== 松散相等比较:**将两个值转换为相同类型,然后比较它们的值。
  • **=== 严格相等比较:**比较两个值是否完全相等,包括类型和值。

区别

== 松散相等比较会将两个值转换为相同类型,然后比较它们的值。这意味着以下情况会被认为相等:

  • 数字和字符串(例如:1 == "1"
  • 布尔值和数字(例如:true == 1
  • 对象和 null(例如:{} == null

=== 严格相等比较不会转换值,而是直接比较两个值是否完全相等,包括类型和值。这意味着以下情况不会被认为相等:

  • 数字和字符串(例如:1 === "1"
  • 布尔值和数字(例如:true === 1
  • 对象和 null(例如:{} === null

何时使用

一般来说,建议使用严格相等比较运算符 ===,因为它更准确且不易出错。松散相等比较运算符 == 可能会导致意外的结果,尤其是在比较不同类型的值时。

示例

console.log(1 == "1"); // true (松散相等)
console.log(1 === "1"); // false (严格相等)

console.log(true == 1); // true (松散相等)
console.log(true === 1); // false (严格相等)

console.log({} == null); // true (松散相等)
console.log({} === null); // false (严格相等)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值