## WHAT
### What it used for?
Arrow functions provide a concise syntax for writing JS functions.
### What it is?
#### Syntax
```js
const add = (a, b) => a + b;
```
equals to:
```js
function add(a, b) {
return a + b;
}
```
##### explanation
1. 单个形参时可以省略括号。但是,如果函数采用零个或多个参数,则需要括号。

2. 函数体只有一行,可以省略{}和 return,这称为隐式返回。
`const fn = x => x + x`

## Senario
判断是否该用箭头函数
- ✅ 用在:[[callback functions]] / 内部函数 / 保留外层 this
- ❌ 避免用在:类的方法 / 构造函数 / 想用 `arguments` 的函数
##### 最适合:callback function
```js
const nums = [1, 2, 3];
const doubled = nums.map(n => n * 2); // [2, 4, 6]
```
```js
button.addEventListener('click', () => {
console.log('Clicked!');
});
```