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

JavaScript代码`"1" - + -1`运行输出2的运算逻辑是什么?

JavaScript表达式"1" - + -1运算逻辑拆解

核心逻辑涉及运算符优先级和隐式类型转换两个知识点,具体执行步骤如下:

  • 第一步:确定运算符优先级。JS中一元正号(+)、一元负号(-)的优先级远高于二元减法运算符(-),会优先从右到左执行一元运算。
  • 第二步:执行最右侧一元负号运算:-1的运算结果为数值类型的-1。
  • 第三步:执行左侧相邻的一元正号运算:+ (-1),一元正号的作用是将操作数强制转换为数值类型,此处操作数已经是数值-1,运算结果仍为-1。
  • 第四步:执行二元减法运算:"1" - (-1)。减法运算要求两边操作数均为数值类型,因此会自动将字符串类型的"1"隐式转换为数值1,最终运算为1 - (-1) = 2。
  • 第五步:console.log(Output)打印结果为2。

备注:当减法运算两边出现非数值类型时,JS默认会调用Number()方法将操作数转为数值后再做运算,这也是字符串"1"可以直接参与减法计算的原因。

内容的提问来源于stack exchange,提问作者Alixy Mizuki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:54:02