JavaScript数值比较运算符返回布尔值,需确保操作数为数字类型,避免字符串隐式转换陷阱,推荐显式转换,并注意NaN、null、undefined等特殊值的比较行为。

JavaScript 中用 >、<、>=、<= 这四个运算符做数值比较,结果是布尔值(true 或 false),关键是要确保参与比较的是真正的数字,而不是字符串或其他类型。
基础写法和返回值
这些运算符直接写在两个操作数之间,例如:
-
5 > 3→true -
2 < 1→false -
7 >= 7→true -
4 <= 6→true
注意数据类型,避免隐式转换陷阱
如果一边是字符串,JavaScript 会尝试转成数字再比较,但容易出错:
-
"10" > 9→true(字符串 "10" 被转为数字 10) -
"2" > "10"→true(字符串按 Unicode 编码逐位比较,"2" 的编码大于 "1") -
"5" >= 5→true(字符串转数字后比较)
推荐显式转换,比如用 Number()、parseInt() 或一元加号 +:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
-
+input > 100(把 input 转成数字再比) Number(value) <= 0
结合 if 语句或逻辑表达式使用
比较运算符常用于条件判断:
if (age >= 18) { console.log("成年"); }const isInRange = score >= 60 && score <= 100;const discount = price >= 200 ? 0.1 : 0;
特殊值要小心:NaN、null、undefined
它们参与比较时行为不直观:
-
NaN > 5、NaN < 5、NaN === NaN全是false -
null > 0→false,但null == 0是false,null >= 0却是true(因为null转数字是 0) -
undefined > 0→false,undefined < 0→false,undefined == 0→false
稳妥做法:比较前先检查是否为有效数字,例如用 typeof x === 'number' && !isNaN(x)。

















