## 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. 单个形参时可以省略括号。但是,如果函数采用零个或多个参数,则需要括号。 ![image.png](https://picture-guan.oss-cn-hangzhou.aliyuncs.com/20230531005315.png) 2. 函数体只有一行,可以省略{}和 return,这称为隐式返回。 `const fn = x => x + x` ![](https://picture-guan.oss-cn-hangzhou.aliyuncs.com/20230531005351.png) ## 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!'); }); ```