当我们用!!检查一个值时会有什么区别!或没有。
示例:-
a)if(!! Value){执行此操作= =>我知道此条件将返回布尔值
b)if(Value){这样做} ==>这将检查value是否包含任何内容
但是它们的用法会有什么不同?如果不是以上情况,那么在什么情况下它们都会有所作为?
if
内部,使用if(value)
或if(!!value)
没有区别。[!!
将把以下任何值强制转换为布尔类型。
但是,if
内部的表达式也将被强制为布尔值。
在JavaScript中,将被强制为false的值(“
falsy值”为false
,0
,""
,NaN
,null
,undefined
。
truthy
(包括空数组和对象)