---
# System prepended metadata

title: 克服 JS 奇怪的部分 09. 算術運算子（Arithmetic Operators）
tags: ["JavaScript\_", JavaScript 基礎]

---

### operators

- 程式語言中，運算子（operators）是用於執行特定操作的符號或關鍵字。它們用於操作一個或多個值，並生成結果。

  - operators 視為一個**特殊形式的函數，但它與我們自己寫的函數不太一樣**。

### 算術運算子：

- 你開發時，是否曾經思考過一個問題：
  - JavaScript 是怎麼知道 3 和 4 的中間是一個 '+' ?
```js
var a = 3 + 4;

// output: 7
```

- 正所謂沒問題就是最大的問題，這邊來聊聊 JavaScript 是如何知道要幫助你做 + 法。


### 運算子，是一個特殊的函數

- 前面已經提到：運算子是一個特殊形式的函數，而算術運算子
  他接受至少兩個參數，寫在中間，這實際上是一個已經建構在 JavaScript Engine 的函數方式。
  
- 當語法解析器看到 `+` 則會幫助你將兩個數值做相加。  
  - 而 `+` 就是一個運算子，在本章節歸納為：算術運算子的一種。
```js
+ // 是一個特殊函數
 
3 + 4 -> 數值則是他的參數。    
```  

### 中綴表示法

- 不同於函數需要另外呼叫，算術運算子透過類似「中綴表示法」
  的表達方式，以語法解析器協助你將兩個數值做一個相加。
  
- 更簡單的說法是：將你的函數寫在兩個參數的中間：

```js
a + b // exp.
``` 

### 算術運算子，有這些：

```
算術運算子（Arithmetic Operators）:

+：加法
-：減法
*：乘法
/：除法
%：餘數
**：指數（ES6新增）
```