You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript字符串拼接与加减运算隐式转换问题咨询

JavaScript 字符串与数字加减运算结果差异原理解析

核心原因是 JavaScript 内置的隐式类型转换规则对+和-两个运算符的处理逻辑完全不同:

  • 针对+运算符
    +有两种作用:算术加法、字符串拼接。只要两个操作数里存在字符串类型,JS 会优先走字符串拼接逻辑,把另一个操作数自动转换为字符串类型后完成拼接。
    对应代码console.log("10"+9);,执行时会把数字9转成字符串"9",和"10"拼接后得到"109",最终输出109。
  • 针对-运算符
    -仅支持算术减法运算,没有字符串相关的重载逻辑。只要操作数不是数字类型,JS 会自动把所有操作数转换为数字类型后再做减法计算。
    对应代码console.log("10"-9);,执行时会先把字符串"10"转成数字10,再和9做减法运算10-9=1,最终输出1。

内容的提问来源于stack exchange,提问作者Venkata Shivaram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:54:03