上次有一篇文章是說了 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);
}
```