true || false && false
這個(gè)邏輯判斷表達(dá)式結(jié)果是多少碉咆?不少人應(yīng)該會(huì)認(rèn)為是false,但正確的結(jié)果是true蛀恩,一開(kāi)始我也犯了同樣的錯(cuò)誤疫铜,但結(jié)果為什么是true?
真實(shí)的原因是由于邏輯操作符也有優(yōu)先級(jí)關(guān)系赦肋,其優(yōu)先級(jí)排序如下:
操作符 | 優(yōu)先級(jí) |
---|---|
! | High |
&& | Medium |
| | | Low |
根據(jù)邏輯操作符的優(yōu)先級(jí)關(guān)系块攒,true || false && false
等價(jià)于true || (false && false)
励稳,也就是說(shuō)會(huì)優(yōu)先進(jìn)行邏輯與操作再進(jìn)行邏輯或操作佃乘,因?yàn)檫壿嬇c的優(yōu)先級(jí)高于邏輯或,如果屬于同等優(yōu)先級(jí)則按照從左至右的順序進(jìn)行運(yùn)算驹尼。
當(dāng)然小括號(hào)的優(yōu)先級(jí)是最高的趣避,為了代碼的可閱讀性更好依然建議使用小括號(hào)對(duì)邏輯運(yùn)算的優(yōu)先級(jí)進(jìn)行標(biāo)識(shí)。