JavaScript算术运算符包括加(+)、减(-)、乘(*)、除(/)和取模(%),按标准优先级执行,支持数字、字符串(加法可拼接)、NaN和Infinity,需注意隐式转换风险。

JavaScript 中的算术运算符用于对数值进行基本数学运算,包括加(+)、减(-)、乘(*)、除(/)和取模(%)。它们按标准数学优先级执行,支持数字、字符串(部分场景会隐式转换)、NaN 和 Infinity 等值,但需注意类型转换带来的意外结果。
加法(+):支持数值相加与字符串拼接
当两个操作数都是数字时,+ 执行加法;若其中一个是字符串,则触发隐式转换并拼接字符串。这是最容易出错的地方。
- 纯数字相加:`5 + 3` → `8`
- 字符串拼接:`"5" + 3` → `"53"`(数字 3 转为字符串后拼接)
- 避免误拼接:想确保加法,可用 `Number()` 或一元加号强制转数字,如 `+"5" + 3` → `8`
减法(-)、乘法(*)、除法(/):只做数值运算
这三个运算符会自动将操作数转为数字再计算,不支持字符串拼接,转换失败时返回 NaN。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- `"10" - "2"` → `8`(两边转为数字后相减)
- `"hello" * 2` → `NaN`("hello" 无法转为有效数字)
- `10 / 3` → `3.3333333333333335`(浮点除法,无整除运算符)
取模(%):返回除法的余数,适用于正负数和小数
取模运算返回第一个操作数除以第二个操作数后的余数,符号由被除数(左操作数)决定,且支持小数。
立即学习“Java免费学习笔记(深入)”;
- `10 % 3` → `1`
- `-10 % 3` → `-1`(余数符号同 -10)
- `10.5 % 3` → `1.5`(小数也适用)
- `7 % 0` → `NaN`(除零结果为 NaN,不是报错)
运算优先级与结合性:影响计算顺序
算术运算符中,`*`、`/`、`%` 优先级高于 `+` 和 `-`,同级从左到右计算。括号可显式控制顺序。
- `3 + 4 * 2` → `11`(先算 `4 * 2`)
- `(3 + 4) * 2` → `14`(括号提升优先级)
- `10 - 3 + 2` → `9`(从左到右:`7 + 2`)

















