接手了一个JavaScript项目后,我发现无论在哪里都能看到使用!+msg
的if语句。从测试中我可以看出它是为了检查是否有多个单词,但我希望有人可以解释一下为什么这样会生效。谢谢!
接手了一个JavaScript项目后,我发现无论在哪里都能看到使用!+msg
的if语句。从测试中我可以看出它是为了检查是否有多个单词,但我希望有人可以解释一下为什么这样会生效。谢谢!
+
运算符将其操作数强制转换为数字,!
运算符将其操作数强制转换为布尔值并反转其意义(false
-> true
或反之亦然)。因此,!+msg
的含义是,“如果将 msg
作为数字解释的值为 0 或 NaN
,则该值应为 true
,否则为 false
。”
msg
可能包含什么值,或者原因是什么。 - Pointy