我正在this JavaScript Quiz时发现了这个问题-
"1" - - "1";
The result of this statement is 2
。谁能解释这是怎么回事?
我还发现,即使使用
-
,也会添加字符串,但是使用-
奇数减法。仅当数字是字符串时才会发生这种情况。这里还有一些示例-
"1" - "1" => 0
"1" - - "1" => 2
"1" - - - "1" => 0
"1" - - - - "1" => 2
"a" - "b" => NaN
最佳答案
该表达式等效于"1" - (-"1")
。一元减号会将其参数("1"
)转换为数字(1
)并取其反数(-1
)。二进制减号会将其参数("1"
和-1
)转换为数字(1
和-1
),并计算其差值(2
)。