为什么Javascript在int和string上运行时会有不同的加减值

Kar*_*bet 1 javascript

为什么JavaScript使用与减号不同的字符串和整数来评估加号?

一个例子:

console.log(1+"1");
console.log(1-"1");
Run Code Online (Sandbox Code Playgroud)

第一行打印"11",第二行打印0.

Tre*_*vor 5

+操作被赋予与琴弦特定的含义,但-算不算.因此,当您尝试使用+运算符并且其中一个操作数是字符串时,JavaScript会将整数转换为字符串,然后执行连接而不是添加.但是,当您使用-运算符时,因为该运算符没有使用字符串定义的行为,JavaScript会将字符串转换为整数,然后进行减法.