---
# System prepended metadata

title: 【Day8】賦值運算子、邏輯運算子
tags: [JavaScript, 14th鐵人賽]

---

# 【Day8】賦值運算子、邏輯運算子
###### tags: `JavaScript` `14th鐵人賽`
這篇文章會說到JavaScript的運算子，簡單介紹兩種：

- 賦值運算子
- 邏輯運算子

## 賦值運算子

假設我有100元，幸運的我今天在路上撿到10元，要計算現在有多少錢時，以往會這樣呈現：

```jsx
let walletMoney = 100;
walletMoney= walletMoney+10 // 110
```

這種方法也沒有問題，但會發現我們重複輸入變數，是不是有更簡短的寫法呢？這種時候就可以用到賦值運算子的寫法啦~

```jsx
let walletMoney = 100;
walletMoney+ = 10 // 110
```

同樣的結果但在書寫上又更加簡潔

簡單來說就是，將右方的運算元的值賦予左方的運算元，以下也舉其他例子

```jsx
a+ = 1
a- = 1
a* = 1
a/ = 1
```

## 邏輯運算子

通常用於布林值的判斷`true、false`呈現邏輯表達式，可以用於同時滿足兩個條件、滿足一個條件時使用

以下舉例不同的邏輯運算子

| 符 | 意思 | 用法 | 描述 |
| --- | --- | --- | --- |
| && | and | a && b | 兩者都為true返回true 否則將返回false |
| \|\| | or | a \|\| b | 其中一者為true 就會返回true 若兩者皆為flase將回傳false |
| ! | not | !a | 若能被轉換為true則回傳false 否則回傳true |

```jsx
true && false // flase
true || false //true
!true // false
```

邏輯運算從左至右計算也可以使用括號先做計算

```jsx
let a =10;
console.log((2+3)*2 && a==10) //true
```

這邊先計算`(2+3)*2=10` and `a==10` 兩者同時滿足，因此回傳`true`

再用一個範例做介紹

```jsx
!("小狗" === 4) && "小貓" === "小貓" //true
```

同樣由左而右來看`"小狗"===4`為`false` 但加上`!`後為`true`，字串`"小貓"`的話為`true`(只有空字串為`false`)兩者皆為`true ===`右方`"小貓"true、

若有問題或需要補充的都歡迎指教討論唷~