邏輯運算子
邏輯運算子 通常被用於布林(邏輯)值; 使用於 布林(邏輯)值時, 它們會回傳布林型態的值。 然而,&& 和 || 運算子實際上是回傳兩指定運算元之一,因此用於非布林型態值時,它可能會回傳一個非布林型態的值。 邏輯運算子將在下表中被詳細解釋。
Logical operators
Operator | Usage | Description |
---|---|---|
邏輯 AND (&& ) | 運算式1 && 運算式2 | 假如 運算式1 可以被轉換成 false的話,回傳 運算式1 ; 否則,回傳 運算式2 。 因此,&& 只有在 兩個運算元都是True 時才會回傳 True,否則回傳 false 。 |
邏輯 OR (|| ) | 運算式1 || 運算式2 | 假如 運算式1 可以被轉換成 true的話,回傳 運算式1 ; 否則,回傳 運算式2 。 因此,|| 在 兩個運算元有任一個是True 時就會回傳 True,否則回傳 false 。 |
邏輯 NOT (! ) | !運算式 | 假如單一個運算元能被轉換成True時,回傳false , 不然回傳 true 。 |
可以被轉換為 false 的運算式是 null, 0, NaN, 空字串 (""),或 未定義。
下面是 && (邏輯 AND) 運算子 的範例。
var a1 = true && true; // t && t 回傳 true
var a2 = true && false; // t && f 回傳 false
var a3 = false && true; // f && t 回傳 false
var a4 = false && (3 == 4); // f && f 回傳 false
var a5 = "Cat" && "Dog"; // t && t 回傳 Dog
var a6 = false && "Cat"; // f && t 回傳 false
var a7 = "Cat" && false; // t && f 回傳 false
下列是 || (邏輯 OR) 運算子的範例。
var o1 = true || true; // t || t 回傳 true
var o2 = false || true; // f || t 回傳 true
var o3 = true || false; // t || f 回傳 true
var o4 = false || (3 == 4); // f || f 回傳 false
var o5 = 'Cat' || 'Dog'; // t || t 回傳 Cat
var o6 = false || 'Cat'; // f || t 回傳 Cat
var o7 = 'Cat' || false; // t || f 回傳 Cat
下列是 ! (邏輯 NOT) 運算子的範例。
var n1 = !true; // !t 回傳 false
var n2 = !false; // !f 回傳 true
var n3 = !'Cat'; // !t 回傳 false
資料來源:MDN Web Docs運算式與運算子