昨晚,我正在寻找AngularJS代码段来管理垂直标签菜单,但我发现了以下表达式:
if(+!!variableName)
doSomething();
抱歉,我无法理解
+!!variableName
如何解决这个条件表达式?
最佳答案
这基本上是说如果不是null
或undefined
if(+!!variableName)
doSomething();
如果
variableName
是0
,空(""
),null
或undefined
,它将转换为false
或true
。例如,如果
var variableName = null;
现在,它将转换为
(+!!null)
-> (+!true)
-> (+false)
-> false
同样,如果
var variableName = "anything";
这将转换为
(+!!"anything")
-> (+!false)
-> (+true)
-> true
在这种情况下,
+
对结果没有影响,因此可以安全地将其删除。实际上,整个条件表达式都可以替换为
if(variableName)
doSomething();
关于javascript - 解释繁琐的条件表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35837425/