关于javascript:if(!!变量)和if(变量)之间的区别?

difference between if (!!variable), and, if (variable)?

本问题已经有最佳答案,请猛点这里访问。

使用双负!!和不使用它有什么区别吗?

例如

if (!!variable){...if (variable){...的比较

我知道有时我会用第二种方法得到警告。

什么时候使用?什么时候每个人都会在控制台上发出警告?(变量、对象、数组等)

谢谢!!


在这种情况下,没有区别。实际上,!!variable是浪费。

但是在更一般的情况下,它将变量强制转换为布尔值。就我个人而言,我只在调试时才发现这一点有用,并且了解哪些值是真实的和不可靠的。


分配它是有区别的,但不用于在条件语句中使用它。使用!!的原因是,第一个!将您的变量转换为它的真实评估,然后是not它。所以"hello"变为真,然后被否定,变为假,第二个!将否定假,从而产生真。当试图从变量中获取穿透值时,这是可取的。然而,在一个if语句中这样做并没有获得多少好处。