JavaScript 比较运算符
一、基础比较运算符类型
运算符 | 名称 | 示例 | 核心特性 |
---|
== | 宽松相等 | "5" == 5 → true | 隐式类型转换 |
=== | 严格相等 | "5" === 5 → false | 类型+值双重校验 |
!= | 宽松不等 | null != 0 → true | 等效于 !(a == b) |
!== | 严格不等 | 5 !== "5" → true | 类型或值任一不同即成立 |
> | 大于 | "10" > 2 → true | 字符串转数字比较 |
< | 小于 | "a" < "b" → true | 按Unicode码点逐位比较 |
>= | 大于等于 | 5 >= "5" → true | 包含相等条件的复合判断 |
<= | 小于等于 | NaN <= 1 → false | NaN参与比较永远返回false |
二、严格相等(===)
与宽松相等(==)
的深层规则
1. 类型转换优先级(== 的隐式转换逻辑)
- 数值优先原则:数值优先原则是 JavaScript 在宽松相等比较(==)和关系比较(>、< 等)中的隐式类型转换规则,其核心逻辑为:当操作数据类型不同时,优先将非数值类型转换为数值(Number)后再进行比较。
- 原始类型混合比较:
"5" == 5
true == 1
false == 0
null == 0