大于或等于 (>=)
**大于或等于 (>=
)** 运算符如果左操作数大于或等于右操作数,则返回 true
,否则返回 false
。
试一试
语法
js
x >= y
描述
操作数使用与 小于 运算符相同的算法进行比较,结果取反。x >= y
通常等同于 !(x < y)
,除了两种情况下 x >= y
和 x < y
都为 false
- 如果一个操作数被转换为 BigInt,而另一个操作数被转换为不能转换为 BigInt 值的字符串(它在传递给
BigInt()
时会引发 语法错误)。 - 如果一个操作数被转换为
NaN
。(例如,不能转换为数字的字符串或undefined
。)
x >= y
通常等同于 x > y || x == y
,除了少数情况
- 当
x
或y
之一为null
,而另一个为非null
且在 强制转换为数字 时变为 0 的值(包括0
、0n
、false
、""
、"0"
、new Date(0)
等):x >= y
为true
,而x > y || x == y
为false
。 - 当
x
或y
之一为undefined
,而另一个为null
或undefined
之一:x >= y
为false
,而x == y
为true
。 - 当
x
和y
是同一个对象,在 小于 的第一步之后变为NaN
(例如new Date(NaN)
):x >= y
为false
,而x == y
为true
。 - 当
x
和y
是不同的对象,在 小于 的第一步之后变为相同的值:x >= y
为true
,而x > y || x == y
为false
。
示例
字符串与字符串比较
js
"a" >= "b"; // false
"a" >= "a"; // true
"a" >= "3"; // true
字符串与数字比较
js
"5" >= 3; // true
"3" >= 3; // true
"3" >= 5; // false
"hello" >= 5; // false
5 >= "hello"; // false
数字与数字比较
js
5 >= 3; // true
3 >= 3; // true
3 >= 5; // false
数字与 BigInt 比较
js
5n >= 3; // true
3 >= 3n; // true
3 >= 5n; // false
比较布尔值、null、undefined、NaN
js
true >= false; // true
true >= true; // true
false >= true; // false
true >= 0; // true
true >= 1; // true
null >= 0; // true
1 >= null; // true
undefined >= 3; // false
3 >= undefined; // false
3 >= NaN; // false
NaN >= 3; // false
规范
规范 |
---|
ECMAScript 语言规范 # sec-relational-operators |
浏览器兼容性
BCD 表格仅在浏览器中加载