關(guān)于短路運(yùn)算我總是會(huì)忘記盖呼,所以今天我將其記錄下來栖秕,方便日后的復(fù)習(xí)
短路運(yùn)算的原理:當(dāng)有多個(gè)表達(dá)式(值),左邊的表達(dá)式的值可以確定結(jié)果時(shí)寝姿,就不再繼續(xù)運(yùn)算右邊的表達(dá)式的值
邏輯與&&
語法:表達(dá)式1 && 表達(dá)式2
如果表達(dá)式1的值為真,則返回表達(dá)式2
如果表達(dá)式1的值為假划滋,則返回表達(dá)式1
let a = 5 && 6;
console.log(a); //返回的結(jié)果為 6
let b = 5 && 6 && 7
console.log(b); //返回的結(jié)果為 7
let c = 5 && 6 && 0
console.log(c); //返回的結(jié)果為 0
let d = 0 && 5
console.log(d); //返回的結(jié)果為 0
在邏輯與 && 中
- 從左到右表達(dá)式為假饵筑,則返回該表達(dá)式
- 為真則向右進(jìn)行運(yùn)算判斷真假
- 右邊為最后一位時(shí)則返回該表達(dá)式的值(不論真假)。
邏輯或||
語法:表達(dá)式1 && 表達(dá)式2
如果表達(dá)式1的值為真古毛,則返回表達(dá)式1
如果表達(dá)式1的值為假翻翩,則返回表達(dá)式2
let a = 5 || 6;
console.log(a); //返回的結(jié)果為 5
let b = 0 || 6
console.log(b); //返回的結(jié)果為 6
let c = 0 || 0
console.log(c); //返回的結(jié)果為 0
let d = 0 || 0 || false
console.log(d); //返回的結(jié)果為 false
在邏輯或 || 中
- 從左到右表達(dá)式為真,則返回該表達(dá)式
- 為假則向右進(jìn)行運(yùn)算判斷真假
- 右邊為最后一位時(shí)則返回該表達(dá)式的值(不論真假)稻薇。
注意:0
嫂冻、 ''
(空字符串) 、 null
塞椎、undefined
桨仿、 NaN
會(huì)判斷為假,其余為真