箭头函数是定义函数的简洁语法,不处理逻辑但使函数体更紧凑易读;适用于数组方法回调、避免this绑定问题、支持参数解构与默认值,并需注意隐式返回规则。

箭头函数本身不“处理”逻辑,它只是定义函数的一种更简洁的语法形式。真正处理逻辑的是函数体里的代码,而箭头函数让这部分代码写得更紧凑、更易读,尤其在回调、高阶函数和避免 this 绑定问题时优势明显。
用箭头函数简化回调逻辑
在数组方法(如 map、filter、reduce)中,箭头函数能快速写出内联逻辑,省去 function 关键字和大括号(单表达式时)。
- 普通函数写法:
[1, 2, 3].map(function(x) { return x * 2; }) - 箭头函数写法:
[1, 2, 3].map(x => x * 2)—— 逻辑没变,但更轻量 - 多参数或带语句块时:
arr.filter((item, index) => item > 0 && index % 2 === 0)
避开 this 指向陷阱,让逻辑更可预测
箭头函数不绑定自己的 this,而是继承外层作用域的 this。这在事件处理、定时器或类方法中特别有用,避免手动 bind 或用变量暂存 this。
- 错误示范(普通函数中
this丢失):setTimeout(function() { console.log(this.value); }, 100);→ 可能输出undefined - 正确写法:
setTimeout(() => console.log(this.value), 100);→this指向外层上下文,逻辑更稳定
配合解构与默认值,让参数逻辑更清晰
箭头函数支持参数解构和默认值,适合处理结构化输入(如对象、数组),让核心逻辑聚焦在“做什么”,而不是“怎么取数据”。
const getName = ({ firstName, lastName } = {}) => `${firstName || ''} ${lastName || ''}`const sum = ([a, b] = [0, 0]) => a + b- 解构+默认值让函数对空参、缺字段更健壮,减少防御性判断代码
注意隐式返回与副作用的边界
箭头函数中,单表达式会自动返回结果;但一旦用了花括号 {},就必须显式写 return,否则返回 undefined —— 这点容易引发逻辑错误。
- ✅ 隐式返回:
items.map(item => item.id) - ❌ 本意是映射,却无返回:
items.map(item => { console.log(item); })→ 返回全是undefined - ✅ 显式返回:
items.map(item => { console.log(item); return item.id; })

















