大于或等于 (>=)

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

试一试

语法

js
x >= y

描述

操作数使用与 小于 运算符相同的算法进行比较,结果取反。x >= y 通常等同于 !(x < y),除了两种情况下 x >= yx < y 都为 false

  • 如果一个操作数被转换为 BigInt,而另一个操作数被转换为不能转换为 BigInt 值的字符串(它在传递给 BigInt() 时会引发 语法错误)。
  • 如果一个操作数被转换为 NaN。(例如,不能转换为数字的字符串或 undefined。)

x >= y 通常等同于 x > y || x == y,除了少数情况

  • xy 之一为 null,而另一个为非 null 且在 强制转换为数字 时变为 0 的值(包括 00nfalse"""0"new Date(0) 等):x >= ytrue,而 x > y || x == yfalse
  • xy 之一为 undefined,而另一个为 nullundefined 之一:x >= yfalse,而 x == ytrue
  • xy 是同一个对象,在 小于 的第一步之后变为 NaN(例如 new Date(NaN)):x >= yfalse,而 x == ytrue
  • xy 是不同的对象,在 小于 的第一步之后变为相同的值:x >= ytrue,而 x > y || x == yfalse

示例

字符串与字符串比较

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 表格仅在浏览器中加载

另请参见