JavaScript:为什么“ 1”-“ 1”返回0?

时间:2019-09-05 11:16:15

标签: javascript numbers

我试图在循环后从字符串中减去最后一位数字,但后来发现了这种神秘现象。

当我添加两个数字字符串时,它们会串联:

"1" + "1" // = "11"

但是,当我从另一个字符串中减去一个数字字符串时,它没有定义,而是被强制转换为数字:

"11" - "1" // = 10

为什么会这样? 减法的结果应该是“ 1”而不是10吗? 保持某种一致性会更好吗?


编辑:该问题与以下问题不重复,因为该问题询问的是两个字符串的减法,而不是带数字的字符串。

Why does JavaScript handle the plus and minus operators between strings and numbers differently?

1 个答案:

答案 0 :(得分:0)

  

减法运算符(-)减去运算符右边的数字   运算符从左侧的数字开始。

     

当两个操作数中的任何一个为字符串时,都会尝试进行转换   数字字符串。

Source