!!之间的差异与直接检查值

问题描述 投票:0回答:1

当我们用!!检查一个值时会有什么区别!或没有。

示例:-

a)if(!! Value){执行此操作= =>我知道此条件将返回布尔值

b)if(Value){这样做} ==>这将检查value是否包含任何内容

但是它们的用法会有什么不同?如果不是以上情况,那么在什么情况下它们都会有所作为?

javascript typescript typescript-typings typescript2.0
1个回答
0
投票
在这种特殊情况下,在if内部,使用if(value)if(!!value)没有区别。

[!!将把以下任何值强制转换为布尔类型。

但是,if内部的表达式也将被强制为布尔值。

在JavaScript中,将被强制为false的值(“

falsy值”为false0""NaNnullundefined

其他都是

truthy

(包括空数组和对象)
© www.soinside.com 2019 - 2024. All rights reserved.