(在JS中)使用双重否定!!和根本不使用它有什么区别吗?
例如
if (!!variable){...与if (variable){...
我知道有些时候我会用第二种方法得到警告。
每一个都应该在什么时候使用?什么时候会在控制台中抛出警告?(用于变量、对象、数组等)
谢谢!!
发布于 2013-04-06 07:54:30
赋值它是有区别的,但在条件语句中使用它没有区别。使用!!的原因是,第一个!会将您的变量转换为真实的求值,然后对其进行not。所以"hello“变成了真,然后被否定,变成了假,第二个!将否定假,结果是真。当试图从变量中获取thruth值时,这是可取的。但是,在if语句中执行此操作不会获得太多好处。
发布于 2013-04-06 07:55:13
在这种特殊情况下,没有区别。事实上,!!variable是一种浪费。
然而,在更一般的情况下,它将变量转换为布尔值。就我个人而言,我只在调试时才发现这一点很有用,并了解什么值是真的和假的。
https://stackoverflow.com/questions/15845391
复制相似问题