微信小程序中==和===的区别

在微信小程序中,===== 都是用于比较相等性的运算符。它们的区别如下:


一、== 运算符:它执行的是相等比较,会进行类型转换。

  • 如果比较的两个操作数类型不同,== 运算符会尝试将它们转换为相同的类型,然后再进行比较。
  • 它会自动进行一些类型转换,例如将字符串转换为数字,将布尔值转换为数字等。
  • 在进行类型转换后,会使用相等性比较规则进行比较。

示例: 

1 == true; // true,将 true 转换为 1
'2' == 2; // true,将 '2' 转换为 2
null == undefined; // true

二、=== 运算符:它执行的是严格相等比较,不会进行类型转换。

  • 如果比较的两个操作数类型不同,=== 运算符直接返回 false,不会进行类型转换。
  • 它要求比较的两个操作数在类型和值上都完全相等才返回 true。

示例:

1 === true; // false,类型不同
'2' === 2; // false,类型不同
null === undefined; // false,类型不同

三、总结

因此,== 运算符会对操作数进行类型转换,而 === 运算符要求操作数在类型和值上都相等。在开发中,建议使用 === 运算符进行严格相等比较,可以避免因类型转换引起的意外结果。

猜你喜欢

转载自blog.csdn.net/m0_63080216/article/details/132427694