JavaScript中邏輯與操作符雖然簡單,但是很容易忽略一個應用點

點擊上方藍字關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!

說到JavaScript中邏輯操作符,用的比較多的應該是邏輯與(&&)和邏輯或(||)以及邏輯非。今天來說一下邏輯與。

一,概念很容易記住

邏輯與操作屬於短路操作,即如果第一個操作數能夠決定結果,那麼就不會再對第二個操作數求值。對於邏輯與操作而言,如果第一個操作數是false,則無論第二個操作數是什麼值,結果都不再可能是true了。

如下示例:

JavaScript中邏輯與操作符雖然簡單,但是很容易忽略一個應用點

再來看下面這段代碼:

JavaScript中邏輯與操作符雖然簡單,但是很容易忽略一個應用點

輸出:false

在這個例子中,警告框會顯示出來,無論變量someUndefinedVariable有沒有定義,也永遠不會對它求值,因為第一個操作數的值是false。而這也就意味著邏輯與操作的結果必定是false。

在使用邏輯與操作符時要始終銘記它是一個短路操作符。

關於邏輯與其實我們通常記住的可能就是下面這麼一個表的結論:

第一個操作數:ture,第二操作數:true,結果:true。

第一個操作數:ture,第二操作數:false,結果:false。

第一個操作數:false,第二操作數:true,結果:false。

第一個操作數:false,第二操作數:false,結果:false。

二,關鍵點也容易忽略

上面說的一張表給出的結果,沒有問題,是完全正確的。關鍵是我們需要記住一個邏輯與非常好的應用點,看下面這段代碼:

JavaScript中邏輯與操作符雖然簡單,但是很容易忽略一個應用點

輸出:'小鄭搞碼事'

也就說,當表達式評估為'真'時,則返回表達式本身。這很好,因為它在邏輯表達式中被視為'真',但也可以用於在您關心時返回該值。這解釋了為什麼,上面這段代碼返回'小鄭搞碼事'。(而由於上面表的結論導致你可能會期望它返回true或1)。

總結一下:

靈活應用這些看似簡單的知識點,也能讓你的代碼簡略很多。


分享到:


相關文章: