我目前有一个函数检查数组长度是否为0,如果是这种情况则抛出错误。我想知道是否有人可以帮助我了解如何使用&&和在这种情况下,操作员可能更像是一个有效的后卫。
checkSample function(size) {
if(size.length === 0) {
throw new RangeError('Length must be greater than zero');
}
})
答案 0 :(得分:0)
我不明白为什么它会更有效率,为什么你会优化这个电话。我不会做过早优化并将所有检查更改为。如果不是瓶颈就离开吧。看起来你的做法也很容易在哪里找到解决方案&&是奇怪的,至少需要一些评论。
if(0 && 1){// false and true = false
alert('true') //0=false, anything else than 0 is true
} else{
alert('false')
}
给予错误。
if(500 && 1){ //true and true = true
alert('true')//so if array length is different than 0 it will evaluate as true
} else{ //that is the way JavaScript works
alert('false')
}
给予真实。
Therfore:
if(size.length && 1) {
//here your happy flow
} else
{
throw new RangeError('Length must be greater than zero');
}