運(yùn)算符

"" , false , 0 , null , undefined , NaN 當(dāng)條件為這些值的時(shí)候返回 false

位運(yùn)算 ! !!

! 的用法是比較靈活的,它除了做邏輯運(yùn)算常常會(huì)用!做類型判斷,可以用!與上對(duì)象來求得一個(gè)布爾值,!可將變量轉(zhuǎn)換成boolean類型,0,null、undefined和空字符串取反都為true,其余都為false。

!false // true
位運(yùn)算符:&|

& 運(yùn)算方法:同 1 則 1 | 運(yùn)算方法:同 0 則 0

33 & 2 // 結(jié)果為 0

33 | 2 // 結(jié)果為 35
100000
000010
// 理由:33的二進(jìn)制為100000,2的二進(jìn)制為10 
// 100000
// 000010
// | 同0為0  100010 & 同1為1 000000

“!!” ——兩個(gè)嘆號(hào)表示把目標(biāo)值轉(zhuǎn)化為布爾值,相當(dāng)于使用Boolean()方法

邏輯運(yùn)算符:&&||

進(jìn)行布爾值的且和或的運(yùn)算。當(dāng)運(yùn)算到某一個(gè)變量就得出最終結(jié)果之后,就返回哪個(gè)變量。

a || b:如果a是true,那么b不管是true還是false,都返回true。因此不用判斷b了,這個(gè)時(shí)候剛好判斷到a,因此返回a。

如果a是false,那么就要判斷b,如果b是true,那么返回true,如果b是false,返回false,其實(shí)不就是返回b了嗎。

a && b:如果a是false,那么b不管是true還是false,都返回false,因此不用判斷b了,這個(gè)時(shí)候剛好判斷到a,因此返回a。

如果a是true,那么就要在判斷b,和剛剛一樣,不管b是true是false,都返回b。

alert(0 || 10) // 10
alert(0 && 10) // 0

let test=1;
console.log(true && test++ || true) // 1
console.log(test)  // 2

// true && test++ 等價(jià)于
if (true ) {
    test++
}
  1. && 優(yōu)先于 || 運(yùn)算
  2. ||&&都是遵行短路原則,只要確定符號(hào)前面的真假,既可確定返回值。

ES6 運(yùn)算符

?? 非空運(yùn)算符

?? 運(yùn)算符 如果第一個(gè)參數(shù)不是 null/undefined,將返回第一個(gè)參數(shù),否則返回第二個(gè)參數(shù)。

0 ?? 5    //  0
NaN ?? 5   //  NaN
"" ?? 5     //  ""
false ?? 5   //  false 
null ?? 5   //  5
undefined ?? 5   //  5
?. 鏈判斷運(yùn)算符

?. 允許開發(fā)人員讀取深度嵌套在對(duì)象鏈中的屬性值,而不必驗(yàn)證每個(gè)引用。當(dāng)引用為空時(shí),表達(dá)式停止計(jì)算并返回 undefined。

let travelPlans = {
  destination: 'DC',
  monday: {
    location: 'National Mall',
    budget: 200,
    host: null
  }
}
let res = travelPlans?.tuesday?.location ?? "locahost";   // => locahost
//  等價(jià)于 if(travelPlans && travelPlans.tuesday && travelPlans.tuesday.location){travelPlans.tuesday.location}else{"locahost"}
let res2 = travelPlans?.host; // => undefined
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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