JavaScript运算符包括比较和逻辑两类:===严格比较值与类型,==会类型转换;&&和||返回最后一个求值操作数,!转布尔取反;应避免==、注意对象引用比较及逻辑运算符的短路特性。

JavaScript 运算符是执行特定操作的符号,用于对变量和值进行计算、比较或逻辑判断。其中,比较运算符(如 ==、===、>)用于判断两个值的关系,逻辑运算符(如 &&、||、!)用于组合或反转布尔条件。
常用比较运算符及使用要点
比较运算符返回布尔值(true 或 false),常用于 if、while 等条件语句中:
-
===(严格相等):同时比较值和类型,推荐优先使用。例如:5 === "5"→false -
==(抽象相等):会尝试类型转换后再比较,易出错。例如:0 == false→true,但0 === false→false -
!==和!=是对应不等的反向形式,同样建议用!== -
>、、>=、按数值大小比较;字符串则按 Unicode 编码顺序逐字符比较(如"apple" →true)
逻辑运算符的实际用法
逻辑运算符操作布尔值,但返回的不一定是布尔值——它们会返回**最后一个被求值的操作数**(短路特性):
-
&&(与):从左到右,遇到第一个“假值”(falsy,如false、0、""、null、undefined、NaN)就停止并返回它;否则返回最后一个值。例如:"" && 5→"";3 && "hello"→"hello" -
||(或):从左到右,遇到第一个“真值”(truthy)就停止并返回它;否则返回最后一个值。例如:null || "default"→"default";0 || false || 7→7 -
!(非):将操作数转为布尔值后取反,!!常用于强制转布尔。例如:!0→true;!!"hello"→true
常见易错点与建议
实际开发中,几个关键细节容易被忽略:
立即学习“Java免费学习笔记(深入)”;
- 避免用
==比较不同类型的值,尤其涉及null、undefined、0、""、false时行为复杂(如null == undefined为true,但null == 0为false) - 对象(包括数组、函数)用
===比较时,比的是引用而非内容。例如:[1,2] === [1,2]→false - 逻辑运算符不是“返回 true/false”,而是“返回操作数本身”,这点在设置默认值(
const name = user.name || "anonymous")或条件执行(isAdmin && showAdminPanel())中很实用
掌握这些运算符的核心行为,比死记规则更重要——关键是理解“何时求值”、“返回什么”以及“类型如何影响结果”。











