JavaScript运算符共分算术、赋值、比较、逻辑、位、一元、三元及其他特殊运算符八大类;其中比较运算符(如===、==、>等)判断关系并返回布尔值,逻辑运算符(&&、||、!)组合条件并支持短路与隐式转换,二者常配合用于条件控制。

JavaScript 运算符共分几大类:算术、赋值、比较、逻辑、位、一元、三元及其他特殊运算符。其中逻辑运算符和比较运算符常配合使用,是条件控制(如 if、while)的核心基础。
比较运算符:判断值的大小或相等性,返回布尔值
比较运算符用于两个操作数之间做关系判断,结果一定是 true 或 false。常见有:
、>、、>=:按数值或字符串 ASCII 码顺序比较-
==和!=:宽松相等/不等,会自动类型转换(易出错,不推荐) -
===和!==:严格相等/不等,要求值和类型都一致(开发中应优先使用)
注意细节:
- 字符串比较时,逐字符比 ASCII 码,
"abc" 为true -
"" == 0是true(空字符串转为 0),但"" === 0是false -
NaN === NaN为false,必须用Number.isNaN(x)判断 -
null == undefined返回true,但null === undefined是false
逻辑运算符:组合多个条件,控制程序流程
逻辑运算符作用于布尔值,但实际可接受任意类型——JavaScript 会先将其“隐式转换”为布尔值再运算:
立即学习“Java免费学习笔记(深入)”;
-
&&(与):全真才真。遇到假值立即返回该假值(短路),否则返回最后一个操作数 -
||(或):一真即真。遇到真值立即返回该真值(短路),否则返回最后一个操作数 -
!(非):取反,返回布尔结果;连用两次!!x可强制转布尔值
真值与假值规则(记住这几种典型):
- 假值:
false、0、-0、""(空字符串)、null、undefined、NaN - 真值:其余所有值,包括
"0"、"false"、[]、{}、function(){}
实用写法示例:
-
user && user.name && user.name.length > 0—— 防止访问空对象属性 -
const name = inputName || "匿名用户"—— 提供默认值 -
if (age >= 18 && hasId && !isBlocked)—— 多条件准入判断
比较 + 逻辑的典型配合用法
两者经常嵌套使用,构成业务判断主干:
- 范围判断:
if (score >= 60 && score - 排除无效输入:
if (typeof value === "number" && !isNaN(value)) - 登录校验:
if (username && password && username.length > 2) - 避免 null/undefined 报错:
obj?.items?.length > 0 || Array.isArray(obj.items) && obj.items.length > 0
关键提醒:优先用 === 替代 ==,能大幅减少因类型转换引发的隐蔽 bug;逻辑运算中善用短路特性,既简洁又安全。











