如果(!!条件)和 if(条件)
What is the difference between if(!!condition) and if(condition)
我经常看到使用!!condition
而不是常规条件的代码。 即:
if(!!value){
doSomething();
}
对:
if(value){
doSomething();
}
如果有的话,功能差异是什么?一个优于另一个吗?拣选使用其中一种与另一种的条件是什么?
技术上什么都没有。双爆炸!!
类型将value
转换为布尔值 - if 语句在计算value
时都会这样做。
在您发布的代码中,!!
是无用的,没有任何用途。
这只是测试值"真实性"的更明确的方法。
以下内容将value
"强制转换"到布尔值。
!!(value)
例如,非空字符串
!!"a" // true
另一个具有空字符串的示例
!!"" // false
但是,如果您只是直接使用
if (value) // ...
那么以下值在 JavaScript 中false
-
0
-
-0
-
null
-
""
(空字符串) -
false
-
undefined
-
NaN
其他一切都true
!! 确保生成的类型是布尔值(真或假)。
JavaScript:alert("foo") --> foo
JavaScript:alert(!"foo") --> 假
JavaScript:alert(!!"foo") --> 真实
JavaScript:alert(!!空) --> 假
他们这样做是为了确保 $('row') 不为空。
键入它比 $('row') != null 短 ? 真 : 假。
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 如何检查if/else语句中的随机条件
- KnockoutJS:为虚拟元素使用嵌套的条件if语句
- 在if语句注释的条件内指定变量的值
- If语句只执行第一个条件并运行其他条件,但没有结果
- 我应该如何应用if-else条件来向具有不同用户角色的人显示不同的菜单
- JavaScript中的温度转换器(IF ELSE条件)
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- Javascript同时执行If和Else条件(PHP)
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 在多个条件 if 语句中什么条件是假的
- 如何仅在jquery多条件if语句中运行特定条件的代码
- 谷歌应用程序脚本条件if语句
- 哪一种方法更快?条件IF或数学公式
- 使用goTo()的条件if / else检查跳过引导过程中的步骤
- JavaScript中的正则表达式条件if-then
- AngularJs -当作用域值改变时检查条件(if - else)
- 如何使用下划线模板编写条件if语句
- 使用条件if退出程序
- 条件if对于许多值,更好的方法