js 運算符 && 與 || 的用法
例一、
let id_store = res.Data[0] && res.Data[0].id_store;
說明:
其用途為,如果 res.Data[0] 有值時,才會進一步去取裡面的東西。
例二、
let a = null; console.log(a && a.length || 0);
其結果為 0
說明:
該範例用途為防止 ReferenceError 發生,並如果有 null 值時,則預設為 0。
null && a.length 將等於 null (取前面);null || 0 將等於 0 (取後面)。
1、只要“||”前面為false,無論“||”後面是true還是false,結果都返回“||”後面的值。
2、只要“||”前面為true,無論“||”後面是true還是false,結果都返回“||”前面的值。
3、只要“&&”前面是false,無論“&&”後面是true還是false,結果都將返“&&”前面的值;
4、只要“&&”前面是true,無論“&&”後面是true還是false,結果都將返“&&”後面的值;
由上兩個測試可知,邏輯運算符,“||”和“&&”都是遵行短路原則,只要確定符號前面的真假,既可確定返回值。
5、“&&”的優先級是高於“||”的。
參考資料: