JavaScript 比较运算符和逻辑运算符

JavaScript 比较运算符主要用于数值间的比较,比如相等,大小等。JavaScript 逻辑运算符主要对操作数进行逻辑运算。

JavaScript 比较运算符主要用于数值间的比较,比如相等,大小等。JavaScript 逻辑运算符主要对操作数进行逻辑运算。

比较运算符

JavaScript 比较运算符主要用于数值间的比较,比如相等,大小等。

运算符 说明
== 比较值是否相等
=== 比较值和类型是否相等
!= 比较值是否不相等
!== 比较值和类型是否不相等
> 大于
< 小于
>= 大于等于
<= 小于等于

比较运算符示例:

示例 结果 尝试一下
x == 8 false
x == 5 true
x == "5" true
x === 5 true
x === "5" false
x != 8 true
x !== 5 false
x !== "5" true
x !== 8 true
x > 8 false
x < 8 true
x >= 8 false
x <= 8 true

如何使用

比较运算符常用在条件语句中进行条件运算,条件语句会根据运算结果采取相应的动作。

if (age < 18) text = "年纪太小了";

您将在本教程的以后的章节中了解有关使用条件语句的更多信息。

逻辑运算符

逻辑运算符用于对 1 个或 2 个操作数进行逻辑运算。当操作数是布尔值的时候,返回的也是布尔值。当操作数为非布尔值的时候,返回的可能也是非布尔值。

鉴于 x = 6y = 3,下表解释了逻辑运算符:

操作符 名称 说明 尝试一下
&& 逻辑与 当两个操作数都是 true 的时候返回 true, 否则返回 false。
|| 逻辑或 当两个操作数都是 false 的时候返回 false, 否则返回 true
! 逻辑非 当操作数为 true,返回 false;当操作数为 false,返回 true。

条件(三元)运算符

条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为真(true),则问号后面的表达式 A 将会执行;表达式 A 后面跟着一个冒号(:),如果条件为假(false) ,则冒号后面的表达式 B 将会执行。

句法

condition ? exprIfTrue : exprIfFalse

参数说明:

  • condition

    计算结果用作条件的表达式

  • exprIfTrue

    如果表达式 condition 的计算结果是 truthy(它和 true 相等或者可以转换成 true ),那么表达式 exprIfTrue 将会被求值。

  • exprIfFalse

    如果表达式 condition 的计算结果是 falsy(它可以转换成 false ),那么表达式 exprIfFalse 将会被执行。

例子

let voteable = x < 18 ? "太小" : "可用";

如果变量 x 是小于 18 的值,则变量 voteable 的值为 “太小”,否则变量 voteable 的值为 “可用”。

比较不同类型

比较不同类型的数据可能会产生意想不到的结果。

将字符串与数字进行比较时,JavaScript 会在进行比较时将字符串转换为数字,将空字符串转换为 0,将非数字字符串转换 NaN

示例 结果 尝试一下
2 < 12 true
2 < "12" true
2 < "John" false
2 > "John" false
2 == "John" false
"2" < "12" false
"2" > "12" true
"2" == "12" false

比较两个字符串时,“2”将大于“12”,因为(按字母顺序)1 小于 2。

为了获得正确的结果,变量应该在比较之前转换为正确的类型:

age = Number(age);
if (isNaN(age)) {
  voteable = "输入的不是数字";
} else {
  voteable = age < 18 ? "太小" : "可以";
}