&&和||的操做符妙用(javascript)

前言

&&邏輯與和||邏輯或,它們既能夠返回一個布爾值,又能夠返回指定操做數的值,這個值是非布爾型的。api

MDN api參考數組

Section1 布爾運算

首先,咱們明確一下基礎知識。測試

可以轉換爲false的表達式有:spa

  • null
  • NaN
  • 0
  • 空字符串("");
  • undefined

控制檯測試代碼:3d

同時,要注意,空數組轉換爲布爾值,是true哦。code

那麼接下來,咱們看它們的運算規則,邏輯表達式是從左往右計算,它們都是短路運算的操做符。短路運算的原理當有多個表達式時,左邊的表達式值能夠肯定結果時,就再也不繼續運算右邊的表達式的值。以下:blog

  • false && (anything) 短路計算的結果爲假。
  • true || (anything) 短路計算的結果爲真。

 邏輯與&&運算符的示例:ip

最後一個示例,若是第一個值是false,那麼直接返回false。字符串

  邏輯或||運算符的示例:get

最後一個示例,若是第一個值是true,那麼直接返回true。

Section2 返回指定操做數

 基本的布爾操做完了以後,咱們來看一看&&和||的進階用法。這基於它們能作非布爾型操做數的運算。

邏輯與&&示例

第一個操做數轉換後的邏輯值爲true,那麼返回第二個操做數的值。若是第一個操做數轉換後的邏輯值爲False,當前直接返回第一個操做數。

若是有多個操做數呢,固然是從左到右一個一個計算。

邏輯或||示例

若是第一個操做數的邏輯值爲true,那麼返回第一個操做數。若是第一個操做數的邏輯值爲False,那麼返回第二個操做數

 

 

 

相關文章
相關標籤/搜索