使用防护来检查阵列长度

时间:2015-12-17 20:00:01

标签: javascript

我目前有一个函数检查数组长度是否为0,如果是这种情况则抛出错误。我想知道是否有人可以帮助我了解如何使用&&和在这种情况下,操作员可能更像是一个有效的后卫。

checkSample function(size) {
  if(size.length === 0) {
    throw new RangeError('Length must be greater than zero');
  }
})

1 个答案:

答案 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');
  }