JavaScript 比较和逻辑运算符
- 比较运算符的作用:JavaScript中的比较运算符用于比较两个值,并返回布尔值
true
或false
。 - 逻辑运算符的功能:逻辑运算符(包括
&&
、||
和!
)用于执行逻辑运算,返回true
或false
。 - 比较和逻辑运算符的具体应用:通过示例展示了
==
、!=
、===
、!==
等比较运算符和&&
、||
、!
等逻辑运算符的使用方式和结果。
JavaScript 比较运算符
比较运算符比较两个值并返回布尔值:true
或 false
。比较运算符用于决策制定和循环中。
运算符 | 描述 | 示例 |
---|---|---|
== | 等于:如果操作数相等,则返回 true | 5==5; //true |
!= | 不等于:如果操作数不相等,则返回 true | 5!=5; //false |
=== | 严格等于:如果操作数相等且类型相同,则返回 true | 5==='5'; //false |
!== | 严格不等于:如果操作数相等但类型不同,或完全不相等,则返回 true | 5!=='5'; //true |
> | 大于:如果左操作数大于右操作数,则返回 true | 3>2; //true |
>= | 大于或等于:如果左操作数大于或等于右操作数,则返回 true | 3>=3; //true |
< | 小于:如果左操作数小于右操作数,则返回 true | 3<2; //false |
<= | 小于或等于:如果左操作数小于或等于右操作数,则返回 true | 2<=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
,反之亦然。