【发布时间】:2016-11-02 07:06:25
【问题描述】:
在别人的代码中我发现了这种方法来测试变量的存在:
if(!!variable) {
//Do something
} else {
//Something else
}
是否有理由使用 if(!!variable) 而不是 if(variable) 进行测试?这是一个好习惯吗?
【问题讨论】:
-
为什么,真的?对我来说似乎不太可读。迫不及待想看看别人怎么说。
-
我能想到的唯一使用
!!是将某些东西转换为bool。例如。var i = !!0; console.log(i); //false (instead of 0). -
我认为在这种特殊情况下它没有任何区别。但是当您想将任意值转换为布尔值时(稍后将其保存到数据库等)时,它很有用
-
if始终转换为布尔值。 -
有些人将其用作显式强制而不是布尔值。有些人发现明确告诉他们想要评估布尔值更具可读性。
标签: javascript