# 比較與邏輯運算子 ## =、 == 、=== 比較差異 ```javascript= let a = 1; //一個等於,賦予值的意思 let b = 2; console.log(a==b); console.log(a!=b); //兩個等於,比較運算子 ``` ```javascript= let a = 1; let b = "1"; console.log(a==b); //兩個等於,協助轉型 console.log(a===b); //三個等於,會比較,也會判斷型別 //但不會幫忙轉 ``` ## 邏輯運算子 && (and)、|| (or) ```javascript= // &&同時滿足條件 let a = 1; let b = 2; console.log(a==2 && b==2); ``` ```javascript= // ||滿足其中一個條件 let c = 3; let d = 4; console.log(c==3 || d==4); ``` ```javascript= 978 && 0 >0 // &&要兩個都是 true,才會是 true ,但 0 是 false,所以就回傳了 0 。 ``` :::warning 補充一下有什麼東西算 falsy家族 ,0 、 -0 、 null 、 false 、 Nan 、 undefined 、 空字串("")。其餘的都是 Truthy 家族。 ::: ## 邏輯運算子範例情境 ```javascript= // &&練習 //符合贈禮條件 //必須同時符合以下兩個條件才贈禮 //必須滿500(含) //必須是VIP let rice = true; let cost =600; console.log(cost>=500 && isVip==true); ``` ```javascript= // &&練習 // 小孩吃東西 // 只要冰箱有米粒或蘋果任一個,小孩就願意進食 let haveRice = true; let haveApple = false; console.log(haveRice==true || haveApple==false); ```