JavaScript中复合赋值运算符(如+=、-=、*=等)可简化a = a op b为a op= b,遵循先求值右表达式再运算的规则,+=支持字符串拼接,其余会转数字,使用时需兼顾简洁性与可读性。

JavaScript 中可以用赋值运算符和算术运算符组合成“复合赋值运算符”,实现更简洁的写法。比如 a = a + 5 可以简写为 a += 5,既减少重复变量名,又提升可读性。
常见的算术复合赋值运算符
这些运算符都遵循 变量 运算符= 表达式 的格式,等价于先计算右侧表达式,再用对应算术运算更新左侧变量:
-
+=:加法赋值,a += b等价于a = a + b -
-=:减法赋值,a -= b等价于a = a - b -
*=:乘法赋值,a *= b等价于a = a * b -
/=:除法赋值,a /= b等价于a = a / b -
%=:取余赋值,a %= b等价于a = a % b -
**=:幂赋值(ES2016 新增),a **= b等价于a = a ** b
注意运算顺序和类型转换
复合赋值不是简单字符串替换,它仍遵循 JavaScript 的运算规则:
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
- 右侧表达式会先求值,再参与运算。例如
a += b + c等价于a = a + (b + c),不是(a + b) + c的缩写 - 涉及字符串时,
+=有特殊行为:若任一操作数是字符串,则执行字符串拼接,如let x = 5; x += "px";结果是"5px" - 其他复合运算符(如
-=、*=)会尝试将操作数转为数字,失败则得NaN
实际使用建议
合理使用复合赋值能让代码更紧凑,但要注意可读性:
- 对简单数值更新(如计数器
i += 1、累加sum += price)推荐使用 - 避免嵌套过深或语义不清的写法,例如
total *= discountRate + taxRate不如拆成两步更清晰 -
++和--是独立的递增/递减运算符,不属于复合赋值,但功能相近,适用于自增自减场景
掌握这些简写方式能写出更地道的 JavaScript 代码,关键是在简洁和明确之间保持平衡。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










