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

JavaScript中'+'运算符处理字符串与数字规则及代码输出339原因解析

JavaScript中+运算符处理字符串、数字混合运算的规则

核心机制

+是JavaScript里唯一一个同时承担算术加法、字符串拼接双重功能的算术运算符,和数字、字符串混合运算时遵循以下规则:

  • 运算结合方向为从左到右,同优先级下按顺序依次计算
  • 只要+两侧的操作数有任意一个是字符串类型,就会执行字符串拼接逻辑:非字符串的操作数会被隐式转换为字符串,最终拼接为新的字符串结果
  • 如果+两侧都不是字符串类型(比如都是数字、布尔值),才会执行算术加法,返回数字类型结果
  • 和+不同,-/*//等其他算术运算符没有字符串拼接逻辑:无论操作数是什么类型,都会先尝试将其隐式转换为数字,再执行对应算术运算,最终返回数字类型结果

示例代码运算过程拆解

针对给出的代码:

console.log(3 + '4' + 5 - 6)

从左到右逐次计算的过程如下:

  1. 首先计算最左侧的3 + '4':右侧操作数是字符串'4',触发字符串拼接,数字3被转换为字符串'3',拼接后得到字符串'34'
  2. 接着计算'34' + 5:左侧操作数是上一步得到的字符串'34',再次触发字符串拼接,数字5被转换为字符串'5',拼接后得到字符串'345'
  3. 最后计算'345' - 6:这里使用的是-运算符,不执行拼接逻辑,首先将左侧字符串'345'隐式转换为数字345,再执行减法运算:345 - 6 = 339
    最终控制台输出的结果就是339。

内容的提问来源于stack exchange,提问作者Deepak Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 01:21:32