My *_*ear -1 javascript operators
我有一个项目,发现非常神秘.
我发现a - 1 + 2在javascript代码中,我认为它将a + 1与它相同并替换它.但这是错误的答案.什么时候
a = 1 => a -1 +2 = 2
=> a + 1 = 11
Run Code Online (Sandbox Code Playgroud)
任何人都可以描述这个问题吗?
a是一个字符串.因为+可以表示加法或字符串连接,这就是你在这里看到的.在JavaScript中,如果您至少有一个字符串的加数,则两个操作数都被强制转换为字符串并连接."1" + 1就是这样"11".但在JavaScript中, - 只有一个含义,减法.因此,它将两个操作数转换为数字和减法.减法不会发生连接,因此存在差异.
a在添加之前强制转换为整数:
+a + 1
Run Code Online (Sandbox Code Playgroud)
这里,一元+隐式转换a为数字.
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |