簡體   English   中英

使用防護來檢查數組長度

[英]Using a guard to check array length

我目前有一個檢查數組長度是否為0的函數,如果是這種情況,則會引發錯誤。 我想知道是否有人可以幫助我了解如何使用&&運算符來執行此操作,在這種情況下,它可能更有效。

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

我不明白為什么這樣做會更有效,以及為什么要優化此調用。 我不會進行過早的優化,也不會更改所有檢查。 如果不是瓶頸,那就去解決。 似乎您的工作方式也很容易理解,用&&解決方案很奇怪,至少需要一些評論。

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')
}

給真。

因此:

  if(size.length && 1) {
    //here your happy flow
  } else
  {
    throw new RangeError('Length must be greater than zero');
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM