2016-11-20 67 views
2

我尝试提交下列代码eslint冗余双如何改变有效

if(!!obj){ 

... 

} 

冗余双错误,我该如何解决? 为什么我现在得到它...

+0

有点毛病'如果(OBJ)' – Keith

+0

@Keith - 对不起不知道,我得到它,如果不(OBJ)是完全一样的? –

+0

相关:[使用双非操作符(!!)布尔类型铸造](https://www.bennadel.com/blog/1784-using-double-not-operator-for-boolean-type-casting.htm ) –

回答

1

ESLint给你的警告!是多余的。

如果条件将强制条件转换为布尔值,则if条件为true或false。所以你最终告诉javascript引擎要做的是强制布尔真/假,然后不是值,然后再不是值,只能得到原始强制值。

但是说这一切都是双重的,并不总是多余的。例如,说你在一个对象中存储数据,并说你想强制一个布尔存储器,你可以!!重视它。

有时我甚至只是用它来检查从控制台返回的真假。 !!'' = false分别为!!'0' = true!!0 = false等。