比较运算符
它们的作用就是比较两个东西的大小或是否相等,然后给出一个“是”(true)或“否”(false)的答案。
我认为学过小学数学的人都能理解
> (大于)
规则:如果左边的值在数值上大于右边的值,返回 true;否则返回 false10 > 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 → truenull === undefined → false (类型不同)[] === [] → false (两个不同的数组对象,内存地址不同)
!== (严格不相等)
规则:=== 的反面。如果 === 返回 false,!== 就返回 true,反之亦然。3 !== 5 → true (3 不严格等于 5)5 !== "5" → true (因为类型不同)null !== undefined → true
