真值( 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
//因為有使用 || 去定義另外一個值,所以就算沒有值傳入也不會出錯