Javascript eslint用于冗余双精度如何更改为有效
我尝试提交以下代码Javascript eslint用于冗余双精度如何更改为有效,javascript,node.js,eslint,Javascript,Node.js,Eslint,我尝试提交以下代码 if(!!obj){ ... } 冗余双精度错误,如何修复? 为什么我现在得到它…ESLint正在给你警告,因为!!这是多余的 if条件无论如何都会将该条件强制为布尔值,因为if条件为true或false。因此,您最后告诉javascript引擎要做的是,强制为布尔值true/false,然后不是值,然后再不是值,只得到原始强制值 但是说这一切是双重的!,并不总是多余的。例如,假设您将数据存储在一个对象中,如果您想强制使用布尔存储,您可以!!珍惜它 有时我甚至使用它只是
if(!!obj){
...
}
冗余双精度错误,如何修复?
为什么我现在得到它…ESLint正在给你警告,因为!!这是多余的 if条件无论如何都会将该条件强制为布尔值,因为if条件为true或false。因此,您最后告诉javascript引擎要做的是,强制为布尔值true/false,然后不是值,然后再不是值,只得到原始强制值 但是说这一切是双重的!,并不总是多余的。例如,假设您将数据存储在一个对象中,如果您想强制使用布尔存储,您可以!!珍惜它
有时我甚至使用它只是为了再次检查控制台返回的是/否。。例如,
!!'=false
为0'=真
和!!0=false
等..ESLint正在向您发出警告,因为!!这是多余的
if条件无论如何都会将该条件强制为布尔值,因为if条件为true或false。因此,您最后告诉javascript引擎要做的是,强制为布尔值true/false,然后不是值,然后再不是值,只得到原始强制值
但是说这一切是双重的!,并不总是多余的。例如,假设您将数据存储在一个对象中,如果您想强制使用布尔存储,您可以!!珍惜它
有时我甚至使用它只是为了再次检查控制台返回的是/否。。例如,
!!'=false
为0'=真
和!!0=false
等.if(obj)@Keith有问题-抱歉,我不确定我是否得到了它,if(obj)是否完全相同?相关:双精度!,是不是说不,所以如果你曾经是真的!!真的等于真的!!虚假等于虚假。所以对于条件逻辑来说,它实际上什么都没做。它可以很方便地压缩成严格的bookean类型,可能用于打印/存储。@Keith-那么我应该这样使用if(obj)吗?if(obj)
@Keith-对不起,我不确定我是否得到了它,if(obj)是否完全相同?相关:双精度!,是不是说不,所以如果你曾经是真的!!真的等于真的!!虚假等于虚假。所以对于条件逻辑来说,它实际上什么都没做。它可以很方便地压缩成严格的bookean类型,可能用于打印/存储。@Keith-那么如果(obj),我应该这样使用它吗?