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、“&&”的優先級是高於“||”的。

 

參考資料:

js運算符 && 與 || 的用法

JavaScript: Truthy? Falsy?