大于或等于 (>=)

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

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

试一试

console.log(5 >= 3);
// Expected output: true

console.log(3 >= 3);
// Expected output: true

// Compare bigint to number
console.log(3n >= 5);
// Expected output: false

console.log("ab" >= "aa");
// Expected output: true

语法

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® 2026 语言规范
# sec-relational-operators

浏览器兼容性

另见