本文系统梳理JavaScript中的核心运算符,涵盖算术、字符串拼接、赋值、比较、逻辑及位运算。重点解析取模符号规则、布尔值转换、赋值链结合性、类型强制转换及==与===的区别,深入讲解&&与||的短路机制,并明确运算符优先级与结合方向,帮助开发者避免精度陷阱与逻辑错误。
算术运算符
- 用于对数值类型的变量及常量执行数学计算。
- 这是最基础且高频使用的运算符号类别。

- 执行四则混合运算时,需严格遵循“先乘除后加减”的数学原则。
- 取模运算(%)所得结果的正负号由被模数(即%符号左侧的数值)决定。
- 应尽量避免使用小数进行运算,因为JavaScript的浮点数精度问题可能导致结果出现偏差。
- 在算术运算语境下,“+”和“-”除表示加减外,还可用于标识正数或负数。
- 递增(++)或递减(--)运算符若置于操作数之前,则先执行自增或自减,再参与其他运算;若置于操作数之后,则先执行其他运算,最后再进行自增或自减。
- 递增和递减运算符仅适用于数值型和布尔型数据,其中布尔值true会被转换为1,false会被转换为0。
字符串运算符
在JavaScript中,若“+”操作的两个数据中至少有一个是字符串类型,则该运算符执行字符串拼接操作,返回拼接后的新字符串。

赋值运算符
- 作为一种二元运算符,它包含两个操作数。
- 其功能是将运算符右侧的值赋给左侧的变量。

注意
- “=”是赋值运算符,并不表示数学意义上的相等关系。
- 单条赋值语句支持对多个变量进行连续赋值。
- 赋值运算符的结合方向为“从右向左”。

比较运算符
- 用于对两个数值或变量进行大小及相等性比较。
- 其运算结果返回布尔类型的true或false。

注意
当比较不同类型的数据时,系统会首先自动将数据转换为相同类型后再进行比较。运算符“==”和“!=”在比较时仅判断值是否相等;而严格比较运算符(如===和!==,原文虽写“=”与“!”但结合语境指代严格比较或需区分类型)则需同时比较数值及其数据类型是否完全一致。
逻辑运算符
在程序开发中用于逻辑判断,其返回值类型为布尔类型。

- 逻辑运算符的结合方向是从左到右。
- 当使用“&&”连接两个表达式时,若左侧表达式的值为false,则右侧表达式不会执行,整个逻辑运算结果为false(即短路特性)。
- 当使用“||”连接两个表达式时,若左侧表达式的值为true,则右侧表达式不会执行,整个逻辑运算结果为true(即短路特性)。
- 逻辑运算符可针对结果为布尔值的表达式进行运算。
三元运算符
三元运算符是一种需要三个操作数的运算符,运算结果由给定条件决定。

- 首先计算条件表达式的值。
- 如果条件为true,则返回表达式1的执行结果。
- 如果条件表达式的值为false,则返回表达式2的执行结果。
位运算符
- 针对二进制数的每一位进行运算的符号。
- 它专门针对数字0和1进行操作。

注意
JavaScript中位运算符仅能对数值型数据进行运算。在对数字进行位运算之前,程序会将所有操作数转换为二进制数,然后逐位进行运算。
运算符优先级

- 同一单元格的运算符具有相同的优先级。
- 左结合方向表示同级运算符的执行顺序为从左到右。
- 右结合方向则表示执行顺序为从右到左。
- 补充:圆括号()的优先级最高。例如,4 + 3 * 2的输出结果为10,而(4 + 3) * 2的输出结果为14。
总结
本文内容到此结束,希望能为读者提供帮助,同时也欢迎关注本站以获取更多相关内容!