为什么JavaScript使用与减号不同的字符串和整数来评估加号?
一个例子:
console.log(1+"1");
console.log(1-"1");
Run Code Online (Sandbox Code Playgroud)
第一行打印"11",第二行打印0.
该+操作被赋予与琴弦特定的含义,但-算不算.因此,当您尝试使用+运算符并且其中一个操作数是字符串时,JavaScript会将整数转换为字符串,然后执行连接而不是添加.但是,当您使用-运算符时,因为该运算符没有使用字符串定义的行为,JavaScript会将字符串转换为整数,然后进行减法.