比较运算符用于测试true
或者false
。
比较运算符在逻辑语句中使用,以确定变量或值之间的相等或差异。
鉴于x = 5
,下表解释了比较运算符:
Operator | Description | Comparing | Returns | 尝试一下 |
---|---|---|---|---|
== | equal to | x == 8 | false | 尝试一下 » |
x == 5 | true | 尝试一下 » | ||
x == "5" | true | 尝试一下 » | ||
=== | equal value and equal type | x === 5 | true | 尝试一下 » |
x === "5" | false | 尝试一下 » | ||
!= | not equal | x != 8 | true | 尝试一下 » |
!== | not equal value or not equal type | x !== 5 | false | 尝试一下 » |
x !== "5" | true | 尝试一下 » | ||
x !== 8 | true | 尝试一下 » | ||
> | greater than | x > 8 | false | 尝试一下 » |
< | less than | x < 8 | true | 尝试一下 » |
>= | greater than or equal to | x >= 8 | false | 尝试一下 » |
<= | less than or equal to | x <= 8 | true | 尝试一下 » |
比较运算符可以在条件语句中使用来比较值并根据结果采取行动:
if (age < 18) text = "Too young to buy alcohol";
您将在本教程的下一章中了解有关条件语句使用的更多信息。
逻辑运算符用于确定变量或值之间的逻辑。
鉴于x = 6
和y = 3
,下表解释了逻辑运算符:
Operator | Description | Example | 尝试一下 |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | 尝试一下 » |
|| | or | (x == 5 || y == 5) is false | 尝试一下 » |
! | not | !(x == y) is true | 尝试一下 » |
JavaScript 还包含一个条件运算符,它根据某些条件为变量赋值。
variablename = (
condition) ?
value1:
value2
let voteable = (age < 18) ? "Too young":"Old enough";
亲自试一试 »
如果变量age的值小于18,则变量voteable的值为"Too young",否则voteable的值为"Old enough"。
比较不同类型的数据可能会产生意想不到的结果。
当将字符串与数字进行比较时,JavaScript 会在进行比较时将字符串转换为数字。空字符串转换为 0。非数字字符串转换为NaN
这总是false
。
Case | Value | Try |
---|---|---|
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 = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
亲自试一试 »
这个??
如果不是,则运算符返回第一个参数无效的(null
或者undefined
)。
否则它返回第二个参数。
自 2020 年 3 月起,所有浏览器都支持 nullish 运算符:
Chrome 80 | Edge 80 | Firefox 72 | Safari 13.1 | Opera 67 |
Feb 2020 | Feb 2020 | Jan 2020 | Mar 2020 | Mar 2020 |
这个?.
运算符返回undefined
如果一个物体是undefined
或者null
(而不是抛出错误)。
// Create an object:
const car = {type:"Fiat", model:"500", color:"white"};
// Ask for car name:
document.getElementById("demo").innerHTML = car?.name;
亲自试一试 »
自 2020 年 3 月起,所有浏览器都支持可选链运算符:
Chrome 80 | Edge 80 | Firefox 72 | Safari 13.1 | Opera 67 |
Feb 2020 | Feb 2020 | Jan 2020 | Mar 2020 | Mar 2020 |
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!