跳到主要内容

JavaScript 比较和逻辑运算符

提示
  1. 比较运算符的作用:JavaScript中的比较运算符用于比较两个值,并返回布尔值truefalse
  2. 逻辑运算符的功能:逻辑运算符(包括&&||!)用于执行逻辑运算,返回truefalse
  3. 比较和逻辑运算符的具体应用:通过示例展示了==!====!==等比较运算符和&&||!等逻辑运算符的使用方式和结果。

JavaScript 比较运算符

比较运算符比较两个值并返回布尔值:truefalse。比较运算符用于决策制定循环中。

运算符描述示例
==等于:如果操作数相等,则返回 true5==5; //true
!=不等于:如果操作数不相等,则返回 true5!=5; //false
===严格等于:如果操作数相等且类型相同,则返回 true5==='5'; //false
!==严格不等于:如果操作数相等但类型不同,或完全不相等,则返回 true5!=='5'; //true
>大于:如果左操作数大于右操作数,则返回 true3>2; //true
>=大于或等于:如果左操作数大于或等于右操作数,则返回 true3>=3; //true
<小于:如果左操作数小于右操作数,则返回 true3<2; //false
<=小于或等于:如果左操作数小于或等于右操作数,则返回 true2<=2; //true

示例 1:等于运算符

const a = 5,
b = 2,
c = "hello";

// 等于运算符
console.log(a == 5); // true
console.log(b == "2"); // true
console.log(c == "Hello"); // false

== 在操作数相等时返回 true

注意:在 JavaScript 中,== 是比较运算符,而 = 是赋值运算符。如果错误地使用 = 替代 ==,可能会得到意想不到的结果。

示例 2:不等于运算符

const a = 3,
b = "hello";

// 不等于运算符
console.log(a != 2); // true
console.log(b != "Hello"); // true

!= 在操作数不相等时返回 true

示例 3:严格等于运算符

const a = 2;

// 严格等于运算符
console.log(a === 2); // true
console.log(a === "2"); // false

=== 在操作数相等且类型相同时返回 true。这里 2'2' 是相同的数字,但数据类型不同。=== 在比较时也会检查数据类型。

注意===== 的区别在于:

== 在操作数相等时返回 true,而 === 仅在操作数相等且类型相同时返回 true

示例 4:严格不等于运算符

const a = 2,
b = "hello";

// 严格不等于运算符
console.log(a !== 2); // false
console.log(a !== "2"); // true
console.log(b !== "Hello"); // true

!== 在操作数严格不相等时返回 true。它与严格等于 === 完全相反。

在上面的示例中,2 !== '2' 返回 true。这是因为即使它们的值相同,但它们的类型不同。

示例 5:大于运算符

const a = 3;

// 大于运算符(greater than operator)
console.log(a > 2); // true

> 运算符如果左操作数(left operand)大于右操作数(right operand),则返回 true

示例 6:大于等于运算符

const a = 3;

// 大于等于运算符(greater than or equal operator)
console.log(a >= 3); //true

>= 运算符如果左操作数大于或等于右操作数,则返回 true

示例 7:小于运算符

const a = 3,
b = 2;

// 小于运算符(less than operator)
console.log(a < 2); // false
console.log(b < 3); // true

< 运算符如果左操作数小于右操作数,则返回 true

示例 8:小于等于运算符

const a = 2;

// 小于等于运算符(less than or equal operator)
console.log(a <= 3); // true
console.log(a <= 2); // true

<= 运算符如果左操作数小于或等于右操作数,则返回 true

JavaScript 逻辑运算符

逻辑运算符用于执行逻辑操作:与(AND)或(OR)非(NOT)

| 运算符 | 描述 | 示例 | | ------ | -------------------------------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------- | ----- | --- | --------------- | | && | 逻辑与(Logical AND):如果两个操作数/布尔值都为 true,则返回 true,否则返回 false | true && false; // false | | | | | 逻辑或(Logical OR):如果任一操作数/布尔值为 true,则返回 true。如果两者都为 false,则返回 false | true | | false; // true | | ! | 逻辑非(Logical NOT):如果操作数为 false,则返回 true,反之亦然 | !true; // false |

示例 9:逻辑与运算符

const a = true,
b = false;
const c = 4;

// 逻辑与(logical AND)
console.log(a && a); // true
console.log(a && b); // false

console.log(c > 2 && c < 2); // false

&& 运算符如果两个操作数都为 true,则返回 true,否则返回 false

注意: 你也可以将逻辑运算符用于数字。在 JavaScript 中,0 被视为 false,所有非零值被视为 true

示例 10:逻辑或运算符

const a = true,
b = false,
c = 4;

// 逻辑或(logical OR)
console.log(a || b); // true
console.log(b || b); // false
console.log(c > 2 || c < 2); // true

|| 运算符如果任一操作数为 true,则返回 true。如果两个操作数都为 false,则返回 false

示例 11:逻辑非运算符

const a = true,
b = false;

// 逻辑非(logical NOT)
console.log(!a); // false
console.log(!b); // true

! 运算符如果操作数为 false,则返回 true,反之亦然。