上次有一篇文章是說了 Javascript 懶人語法 (OR),這次要說的是 (OR) 的朋友 (AND)。 Javascript 的懶人語法是比較多在 React 上使用的 (可能因為寫 React 的人都比較懶)。筆者也是因為 React 才寫多了這類懶人語法。 ### AND 的懶人方法 相比起 OR,AND 是當前面的條件比對完後,如果前面為非 FALSE 時,就會進行第二個條件比對,一直下去。例如 : ```js // statement 1 1 * 0 || 2 + 1; // statement 2 3 + 1 && 2 * 0 && 2 + 2; ``` 上面 Statement 1 時,JS 會以以下流程執行 : 1. 1 * 0 = 0 2. 0 即是 false 3. OR 會繼續執行下一個 condition,直至全部完成或是遇上非 false 4. 2 + 1 = 3 5. 3 即是非 false 6. 完成執行 上面 Statement 2 時,JS 會以以下流程執行 : 1. 3 + 1 = 4 2. 4 即是非 false 3. AND 會繼續執行下一個 condition,直至全部完成或是遇上 false 4. 2 * 0 = 0 5. 0 即是 false 6. 完成執行 (會 Skip 了 2 + 2 的 condition) ### 特性 OR 的特性可以用來使用於 Assign : ```js const getInt = i => { return i || 1; ] ``` 而 AND 的特性是可以使用於 Execute: ```js const getInt = (i, callback) => { typeof callback === 'function' && callback(i || 1); } ```