首先來(lái)了解一下 “&&”操作符的工作原理:
“&&”連接兩個(gè)表達(dá)式妄均,當(dāng)兩側(cè)表達(dá)式都為真時(shí)桑孩,返回TRUE。有一個(gè)為假則返回FALSE闽巩。
那么實(shí)際運(yùn)行時(shí)钧舌,JavaScript到底是怎么執(zhí)行判斷的呢?
如果左側(cè)的表達(dá)式為FALSE涎跨,那么整個(gè)表達(dá)式的結(jié)果一定為FALSE洼冻。所以此時(shí)JavaScript不會(huì)對(duì)右側(cè)的表達(dá)式進(jìn)行判斷。比如:
console.log(0&&null.b)
這個(gè)表達(dá)式不會(huì)報(bào)錯(cuò)隅很,因?yàn)椴粫?huì)執(zhí)行到null.b這里碘赖。
理解了這點(diǎn),“&&”操作符就可以幫我們偷懶了外构。
if(a==b){console.log(1)}
現(xiàn)在這段代碼可以改寫(xiě)成這樣:
a==b&&console.log(1)
真正的妙用還要和具體的項(xiàng)目需求相結(jié)合普泡,相信會(huì)產(chǎn)出很精妙的代碼。