三个等号和两个等号的区别(“===”与“==”的区别)

本文详细介绍了JavaScript中双等号(==)与三等号(===)的区别及使用场景。双等号会在比较不同类型的值时进行类型转换,而三等号则直接比较值与类型是否完全相同。
部署运行你感兴趣的模型镜像

1.===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。

     例:100===“100”   //返回false

              abc===“abc”   //返回false

              ‘abc’===“abc”  //返回true

              NaN===NaN   //返回false

              false===false  //返回true

2.==:两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较。

     类型转换规则:1)如果等号两边是boolean、string、number三者中任意两者进行比较时,优先转换为数字进行比较。

                                 2)如果等号两边出现了null或undefined,null和undefined除了和自己相等,就彼此相等

     例:100==“100”    //返回true

              1==true          //返回true

               “1”==“01”      //返回false,此处等号两边值得类型相同,不要再转换类型了!!

               NaN==NaN  //返回false,NaN和所有值包括自己都不相等。

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### JavaScript 中严格相等运算符的作用 严格相等运算符 `===` 是一种用于比较两个值是否完全相同的运算符。它不仅比较数值本身,还会比较两者的 **数据类型** 是否一致[^3]。如果两者的数据类型不同,则即使它们的值看起来相同,也会返回 `false`。 #### 数据类型的匹配 当使用 `===` 运算符时,只有在被比较的两个操作数具有相同的 **数据类型** 并且其值也相同时,才会返回 `true`。例如: ```javascript var a = 1; var b = "1"; console.log(a === b); // false,因为一个是数字类型,另一个是字符串类型 ``` 上述例子中,尽管 `a` `b` 的值都是 `1`,但由于它们属于不同的数据类型(数字 vs 字符串),因此结果为 `false`[^5]。 #### 不同于宽松相等运算符 (`==`) 相比之下,宽松相等运算符 `==` 在执行比较之前会尝试进行隐式的 **类型转换**。这意味着,在某些情况下,即使是不同类型的操作数也可能被认为是相等的。例如: ```javascript var c = 0; var d = ""; console.log(c == d); // true,因为空字符串会被转换成数字0后再比较 ``` 然而,这种行为可能导致意外的结果,尤其是在处理复杂条件或边界情况时。为了避免潜在错误,通常建议尽可能使用严格相等运算符 `===` 来替代 `==`[^2]。 #### 使用场景举例 以下是几个具体的案例说明如何正确运用 `===` 运算符: ```javascript let value1 = 'hello'; let value2 = 'HELLO'.toLowerCase(); console.log(value1 === value2); // true,字符串内容类型均一致 let numberValue = 42; let stringValue = '42'; console.log(numberValue === stringValue); // false,虽然显示上相似但实际上类型不同 const booleanTrue = true; const stringTrue = 'true'; console.log(booleanTrue === stringTrue); // false,布尔型字符串无法通过严格相等测试 ``` 以上代码片段展示了严格相等运算符能够有效区分各种可能混淆的情形。 #### 比较优先级 值得注意的是,在表达式解析过程中,严格相等运算符拥有较高的优先级级别,位于关系运算符之后但低于算术运算符之上[^4]。这一特性决定了它的求值顺序以及其他操作符之间的相互作用方式。 --- ###
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值