JavaScript中最常见的复合赋值运算符有+=、-=、=、/=、%=五种,分别等价于a=a+b、a=a-b、a=ab、a=a/b、a=a%b,可减少变量名重复书写、避免拼写错误并提升语义清晰度。

JavaScript中赋值运算符可以和算术运算符组合成复合赋值运算符,让代码更简洁、可读性更强,同时减少重复书写变量名。
常用复合赋值运算符有哪些
最常见的就是 +=、-=、*=、/=、%= 这五种。它们分别对应加、减、乘、除、取余运算后赋值。
-
a += b等价于a = a + b -
a -= 5等价于a = a - 5 -
count *= 2等价于count = count * 2 -
total /= 10等价于total = total / 10 -
index %= 4等价于index = index % 4
为什么推荐用复合赋值而不是分开写
除了少打几个字符,关键在于避免意外错误和提升语义清晰度。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 避免变量名拼写错误:比如写
sum = sum + value时,若第二个sum手误写成som就会出错;而sum += value只需写一次变量名 - 语义更明确:看到
i *= 2就知道是“把 i 翻倍”,比i = i * 2更直观 - 在循环或频繁更新场景中(如计数器、累加、缩放),复合写法更自然
注意运算顺序和类型转换
复合赋值仍遵循 JavaScript 的运算规则,尤其要注意字符串拼接和隐式类型转换。
立即学习“Java免费学习笔记(深入)”;
-
let x = "1"; x += 2;结果是字符串"12",不是数字3—— 因为+=对字符串会触发拼接 -
let y = 5; y -= "2";得到3,因为-运算符强制转为数字 - 想确保数值运算,可先显式转换:
count = Number(count) + 1或直接用count += 1(此时count是数字的话没问题)
进阶:自增/自减也算简化赋值的一种
++ 和 -- 虽然不是严格意义上的复合赋值(不带等号),但本质也是“运算+赋值”的简写,常用于循环控制或计数。
-
i++等价于i = i + 1(后置) -
++i同样是加一再赋值(前置),只是表达式返回值不同 - 在不需要返回值的场景(如
for循环末尾),i++和i += 1效果一致,选哪个看团队习惯

















