真值( Truthy ):轉換成布林後為真的值。
假值( Falsy ):false 、0、" "、null、undefined、Nan。
&&( AND )
只要前面是 false ,無論後面是 true 還是 false ,結果都將返回前面的值
只要前面是 true ,無論後面是 true 還是 false ,結果都將返回後面的值
範例 1
console.log(0 && 1);  //0
console.log(1 && 0);  //0
console.log(1 && 2);  //2
||( OR )
只要前面為 false ,不管後面是 true 還是 false,都返回後面的值
只要前面為 true ,不管後面是 true 還是 false,都返回前面的值
範例 2
console.log(1 || 0);  //1
console.log(0 || 1);  //1
console.log(undefined || 1);  //1
! ( NOT )
如果運算元可以轉換為 true,就返回 false。否則返回 true。
範例 3
console.log(!0); //true
console.log(!1); //false
console.log(![]); //false
var originCash = 500;
function updateEasyCard(cash){
  cash = cash || 500
  //如果沒有值傳入(falsy),就回傳500
  
  var money = cash + originCash;
  console.log('我有'+ money + '元');
}
updateEasyCard();  //我有1000元
//沒有值傳入 = falsy
//因為有使用 || 去定義另外一個值,所以就算沒有值傳入也不會出錯