Skip to content

比较运算符 ​

它们的作用就是比较两个东西的大小或是否相等,然后给出一个“是”(true)或“否”(false)的答案。
我认为学过小学数学的人都能理解

> (大于) ​

规则:如果左边的值在数值上大于右边的值,返回 true;否则返回 false
10 > 5 → true (10 比 5 大)
3 > 7 → false (3 不大于 7)
5 > 5 → false (5 不大于 5,它俩相等)

< (小于) ​

规则:如果左边的值在数值上小于右边的值,返回 true;否则返回 false。
2 < 8 → true (2 比 8 小)
9 < 4 → false (9 不小于 4)
6 < 6 → false (6 不小于 6)

>= (大于或等于) ​

规则:如果左边的值大于右边的值,或者两边相等,返回 true;只有左边小于右边时才返回 false。
7 >= 3 → true (7 > 3)
4 >= 4 → true (4 == 4)
1 >= 5 → false (1 既不大于也不等于 5)

<= (小于或等于) ​

规则:如果左边的值小于右边的值,或者两边相等,返回 true;只有左边大于右边时才返回 false。
3 <= 9 → true (3 < 9)
5 <= 5 → true (5 == 5)
8 <= 2 → false (8 既不小于也不等于 2)

== (相等 / 抽象相等) ​

规则:判断两个值是否“相等”。关键特性:它会尝试将不同类型的操作数转换成相同类型再比较(这叫“类型强制转换”)。
警告:这个转换规则比较复杂,容易出错。
5 == 5 → true (都是数字,相等)
5 == "5" → true (数字 5 和字符串 "5",== 会把字符串转成数字再比,所以相等!)
0 == false → true (0 和 false 在转换后被认为是相等的)
null == undefined → true (这是特殊规则)
"hello" == "world" → false (字符串内容不同)

!= (不相等 / 抽象不相等) ​

规则:== 的反面。如果 == 返回 false,!= 就返回 true,反之亦然。同样会进行类型转换。
3 != 5 → true (3 不等于 5)
5 != "5" → false (因为 5 == "5" 是 true,所以 != 是 false)
0 != false → false (因为 0 == false 是 true)

=== (严格相等) ​

规则:判断两个值是否“严格相等”。必须同时满足两个条件:值相等 和 类型相同
不会进行任何类型转换。这是最安全、最推荐使用的相等比较。
5 === 5 → true (都是数字5)
5 === "5" → false (类型不同!一个是 number,一个是 string)
true === true → true
null === undefined → false (类型不同)
[] === [] → false (两个不同的数组对象,内存地址不同)

!== (严格不相等) ​

规则:=== 的反面。如果 === 返回 false,!== 就返回 true,反之亦然。
3 !== 5 → true (3 不严格等于 5)
5 !== "5" → true (因为类型不同)
null !== undefined → true