&&
(and)
使用方式: expr1 && expr2
說明:主要用來驗證兩個值是否皆為真值(Truthy),當 expr1
為假值(Falsy)時,則回傳 expr1
,否則就回傳 expr2
範例:
console.log(0 && 1); // 0
console.log(1 && 0); // 0
console.log(1 && 'weiwei'); // 'weiwei'
||
(or)
使用方式: expr1 || expr2
說明:驗證兩個值的其中一個是否為真值(Truthy),當 expr1
為真值(Truthy)時,則回傳 expr1
,否則就回傳 expr2
範例:
console.log(0 || 1); // 1
console.log(1 || 0); // 1
console.log(1 || 'weiwei'); // 1
!
(not)
使用方式: !expr
說明:當 expr
為真值(Truthy)時回傳 false
,如果是假值(Falsy)時則回傳 true
範例:
console.log(!0); // true
console.log(!1); // false
console.log(![]); // false
console.log(!'weiwei'); // false
相關文件可到 MDN 參考文件查看
以前的方法:
let originCash = 1000;
function updateCash(cash){
// 使用邏輯運算子
cash = cash || 100;
let money = cash + originCash;
console.log(`我有 ${money} 元`);
}
updateCash(0); // 1100
上方函式如果代入 0
的話,所產生的數字為 1100
這是錯的
要解決這問題可以使用三元運算子來判斷,如下所示:
let originCash = 1000;
function updateCash(cash){
// 使用三元運算子
cash = (cash || cash !== false) ? cash : 100;
let money = cash + originCash;
console.log(`我有 ${money} 元`);
}
updateCash(0); // 1000
ES6 的方法:
let originCash = 1000;
// 直接將預設值設在 () 中
function updateCash(cash = 100){
money = cash + originCash;
console.log(`我有 ${money} 元`);
}
updateCash(0); // 1000
函式預設值參考資料可到 MDN 參考文件查看
以上就是今天的內容,我們明天見!!