鍍金池/ 問(wèn)答/HTML/ 請(qǐng)教下三元運(yùn)算的語(yǔ)法規(guī)則

請(qǐng)教下三元運(yùn)算的語(yǔ)法規(guī)則

  checkCookieExpires (time) {
    if (time.length === 10) {
      return time * 1000 < Date.now() ? false : true 
    } else if (time.length === 13) {
      return time < Date.now() ? false : true 
    }
    return;
  }
  

eslint 報(bào)這個(gè)錯(cuò):Unnecessary use of boolean literals in conditional expression

回答
編輯回答
落殤

不是語(yǔ)法規(guī)則的事

time * 1000 < Date.now()
time < Date.now()

這兩句就是一個(gè)值了,為什么還要用三目運(yùn)算符再算一遍呢
就好像是

if(true){
    return true
}else{
    return false
}

不需要多這一步

2018年3月28日 23:27
編輯回答
糖豆豆

不算是個(gè)錯(cuò)誤吧,只是沒(méi)有必要這樣寫(xiě)。 return time >= Date.now()就能達(dá)到目的

2017年3月4日 11:14
編輯回答
爆扎

在這里使用三元運(yùn)算符實(shí)在是多余以致于Eslint將其視為一個(gè)錯(cuò)誤,比較合理的使用方式是。

isMan = true;
...
console.log(isMan? "Male" : "Female");
2018年2月11日 09:48
編輯回答
寫(xiě)榮

比較運(yùn)算符的計(jì)算結(jié)果已經(jīng)是布爾值。
在javascript中屬于假值的有 false null undefined 0 -0 NaN "",除此之外都是真值,而且javascript在需要布爾值的時(shí)候能自動(dòng)轉(zhuǎn)換成布爾值。

2018年7月4日 04:40
編輯回答
逗婦惱
  checkCookieExpires (time) {
    if (time.length === 10) {
      return time * 1000 >= Date.now()
    } else if (time.length === 13) {
      return time >= Date.now()
    }
    return false
  }
  
2017年8月21日 19:20