js中的!!和!

自己之前判斷常用if(a)判斷a有值或是true,if(!a)判斷a沒值或是false的
但是看到有的人會用if(!!a)或者if(!!!a),就納悶,這樣不是多此一舉嗎?

因為如果a有值或是true

var a = 1 或 a='1',a={},a=[],a=true
if(a){
  console.log(a)
}
if(!!a){
  console.log(a)
}
兩者的結(jié)果是一樣的

因為如果a沒值或是false

var a = null 或 a=undefined,a=NaN,a='',a=false
if(!a){
  console.log(a)
}
if(!!!a){
  console.log(a)
}
兩者的結(jié)果也是一樣的

所以感覺在判斷時使用!!或者!!!是多余的。
除非我們是要返回一個值或者給另一個變量賦值時,且確定要返回一個布爾值,為了防止a為空導(dǎo)致返回空值,可以使用。如:

var isShow = !!a
或者
function isCan(a){
  return !!a
}

所以!!類似一個強制類型轉(zhuǎn)換,轉(zhuǎn)換為布爾值,當我們不需要轉(zhuǎn)換類型,感覺沒有必要使用。

這個僅僅是本人的觀點,如有不同見解,煩請留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)值(number):整數(shù)和小數(shù)(比如1和3.14)字符串(string):文本(比如Hello World)布爾...
    砂糖橘最甜閱讀 880評論 0 0
  • JS中的數(shù)據(jù)類型一共有7種: 基本類型(簡單類型):數(shù)值(number)、字符串(string)、布爾值(bool...
    si_月閱讀 272評論 0 0
  • 大家好,我是IT修真院上海分院第1期的Web學(xué)員劉洪利,今天給大家分享一下關(guān)于Js中的數(shù)據(jù)類型和常用方法 一.背景...
    LHongLi閱讀 512評論 0 1
  • JS中一共有七大數(shù)據(jù)類型 數(shù)值 字符串 布爾值 undefined null 對象 symbol (本文略過) 一...
    tolstory閱讀 304評論 0 0
  • `計算機顧名思義可以進行數(shù)學(xué)計算的機器,因此,計算機理所當然的可以處理各種數(shù)值,但是,計算機能夠處理的遠遠不只是數(shù)...
    吧啦啦小湯圓閱讀 454評論 0 0

友情鏈接更多精彩內(nèi)容