Javascript if(!!变量)和if(变量)之间的差异?

Javascript if(!!变量)和if(变量)之间的差异?,javascript,Javascript,使用双负并且根本不使用它 比如说 if(!!变量){…vs.if(变量){… 我知道有时我会用第二种方法得到警告 什么时候应该使用它们?它们什么时候会在控制台中抛出警告?(对于变量、对象、数组等) 谢谢!!分配它是有区别的,但在条件语句中使用它是没有区别的。之所以使用!!是因为第一个!会将变量转换为真实的求值,然后不会它。所以“您好”变为true,然后被否定,变为false,第二个!将否定false,从而得到true。当试图从变量中获取thruthy值时,这是可取的。但是,在if语句中这样做并没

使用双负<代码>并且根本不使用它

比如说

if(!!变量){…
vs.
if(变量){…

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

什么时候应该使用它们?它们什么时候会在控制台中抛出警告?(对于变量、对象、数组等)


谢谢!!

分配它是有区别的,但在条件语句中使用它是没有区别的。之所以使用
!!
是因为第一个
会将变量转换为真实的求值,然后
不会
它。所以“您好”变为true,然后被否定,变为false,第二个
将否定false,从而得到true。当试图从变量中获取thruthy值时,这是可取的。但是,在if语句中这样做并没有多大好处。

在这种特殊情况下,没有什么区别。事实上,
!!变量
这是浪费


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

基本上它将其转换为布尔值。事实上,这是一个不同的问题。仅仅因为另一个问题的某些答案恰好回答了这个问题并不重要它们实际上是一样的。非常感谢!
当尝试获取thruthy值时,这是一个很好的解释方法。谢谢!我看到在检查变量以外的事物是否存在时使用了它,这样才有意义。