为什么JavaScript中的"1"+ +"1"="11"而"1" - "1"= 2

Sai*_*dhu 1 javascript operators unary-operator

今天,我的同事意识到了一件有趣的事情.基本上,他在谷歌浏览器中打开控制台(Ctrl + shift + I)并输入以下内容:

"1" + + "1" 
Run Code Online (Sandbox Code Playgroud)

(请注意运算符之间的空格)这给出了"11"字符串的结果,我完全理解它.

但是,当输入是

"1" - - "1"  
Run Code Online (Sandbox Code Playgroud)

控制台回答2.

同样我试过了

"1" - - "4" 
Run Code Online (Sandbox Code Playgroud)

和控制台输出5.

也,

"1" - + "4"
Run Code Online (Sandbox Code Playgroud)

给出输出-3.

我理解逻辑,但对这些运算符的工作没有任何线索.

任何解释将不胜感激.

提前致谢.

Dan*_*ite 5

-运营商对字符串没有意义,所以它的价值转换为Number.