js中的相等比较运算符 | 青训营笔记

82 阅读2分钟

嘿小伙伴们,今天我们来聊一聊JavaScript的一个超级热门话题——=====的区别

==(相等比较运算符)

首先,让我们谈谈==这个家伙。它是一个相等比较运算符,它的特点是在比较之前会搞个类型转换。嗯,它有点像个喜欢变脸的艺人,总是试图把不同类型的东西融合在一起。有时候它很灵活,能够帮你找到一些看似不相关的东西之间的共同点,但有时候它也会搞出一些奇怪的事情来,让你摸不着头脑。

===(严格相等比较运算符)

接下来,我们要介绍的是===这个大哥。它也是一个相等比较运算符,但它可是个挑剔的家伙,它要求类型和值都要完全一致才会认可。它就像个挑剔的品鉴师,只接受完美无缺的东西,不肯妥协。当你使用===时,你可以放心地说:“我就是要完全一致,不接受差强人意的东西!”

如何使用

那么,你可能会问,到底应该用哪一个呢?这其实取决于你的需求。如果你希望在比较时进行类型转换,试图找到一些相似之处,那就用==吧,它会帮你搞定。但如果你希望严格按照类型和值来比较,不想让任何差异通过,那就毫不犹豫地选择===吧,它绝对是个要求完美的家伙。

举一些简单的小例子~

console.log(1 == '1');     // true,进行类型转换后相等
console.log(1 === '1');    // false,类型不同

console.log(true == 1);    // true,进行类型转换后相等
console.log(true === 1);   // false,类型不同

console.log(null == undefined);     // true,特殊的相等情况
console.log(null === undefined);    // false,类型不同

总结

=====虽然长得差不多,但它们的内心却截然不同。==喜欢玩变脸游戏,而===则是个完美主义者。在选择时要根据实际的需求来决定,用对了才能有好结果哦。