---
# System prepended metadata

title: JavaScripte 箭頭函式共筆

---

# JavaScripte 箭頭函式共筆

---
## 基本語法
- (參數1, 參數2, …, 參數N) => { 陳述式; }
- (參數1, 參數2, …, 參數N) => 表示式;
	- // 等相同(參數1, 參數2, …, 參數N) => { return 表示式; }
	- // 只有一個參數時,括號才能不加:
- (單一參數) => { 陳述式; }
- 單一參數 => { 陳述式; }
	- //若無參數，就一定要加括號:
- () => { statements }

---
## 進階語法
	- // 用大括號將內容括起來，返回一個物件字面值表示法：
- params => ({foo: bar})
	- // 支援其餘參數與預設參數
- (param1, param2, ...rest) => { statements }
- (param1 = defaultValue1, param2, …, paramN = defaultValueN) => {
- statements }
	- // 也支援 parameter list 的解構賦值
- var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c; f(); // 6

---

## 一般函式
```
get('/', fuction(){
console.log...
})
```



---
## 箭頭函式

沒參數寫法
```
get('/', () => {
console.log...
})
```

---

有參數寫法
```
get('/', (event) => {
console.log...
})
```
箭頭函式之空函式寫法..
```
get('/', event => {
console.log...
})
```
---
![](https://i.imgur.com/1bskSAm.png)
![](https://i.imgur.com/RcPiqoX.png)
![](https://i.imgur.com/uNftKpD.png)
`const foo = x => x+1` (含有return的功能了)
`const foo = x => { x+1 }`(有作用但沒有return功能去接值，印出還是undinfed，要手動加上return)

---


![](https://i.imgur.com/w1xdXyC.png)
