作者:芹牵一线 | 来源:互联网 | 2023-01-17 10:21
我有一个项目,发现非常神秘.
我发现a - 1 + 2
在Javascript代码中,我认为它将a + 1
与它相同并替换它.但这是错误的答案.什么时候
a = 1 => a -1 +2 = 2
=> a + 1 = 11
任何人都可以描述这个问题吗?
1> Li357..:
a
是一个字符串.因为+可以表示加法或字符串连接,这就是你在这里看到的.在Javascript中,如果您至少有一个字符串的加数,则两个操作数都被强制转换为字符串并连接."1" + 1
就是这样"11"
.但在Javascript中, - 只有一个含义,减法.因此,它将两个操作数转换为数字和减法.减法不会发生连接,因此存在差异.
a
在添加之前强制转换为整数:
+a + 1
这里,一元+
隐式转换a
为数字.