Ben*_*Ben 12 javascript arrays
将数组的长度检查为真值并检查它是否> 0是否有任何区别?
换句话说,有没有理由使用其中一个语句而不是另一个:
var arr = [1,2,3];
if (arr.length) {
}
if (arr.length > 0) {
}
Run Code Online (Sandbox Code Playgroud)
Fel*_*ing 12
将数组的长度检查为真值并检查它是否> 0是否有任何区别?
由于值arr.length
只能是0
或者更大,因为0
它是唯一的计算数false
,所以没有区别.
在一般情况下,Boolean(n)
并Boolean(n > 0)
产生了不同的结果n < 0
.
换句话说,是否有任何理由将这些陈述中的一个用于另一个陈述
只有与代码可读性和理解相关的原因,而不是行为.
在javascript中,它们没有任何区别.
最后,无论是在之间if
括号将评估为一个truthy或falsey值
对于所有可能的falsey值,请参阅JavaScript中的所有falsey值
如果您希望更清晰明确,请使用
if (arr.length > 0) {
}
Run Code Online (Sandbox Code Playgroud)
如果你想减少冗长,请使用
if (arr.length) {
}
Run Code Online (Sandbox Code Playgroud)
array.length
比最快和短array.length > 0
。您可以看到它们的速度差异:http : //jsperf.com/test-of-array-length
if(array.length){...}
类似于if(0){...}
或if(false){...}
归档时间: |
|
查看次数: |
3460 次 |
最近记录: |