箭头函数适用于参数少、逻辑单行的简单函数,需省略括号和return以保持简洁;多参数或无参数必须加小括号;返回对象字面量须用小括号包裹;多行逻辑则需大括号和显式return。

箭头函数适合写逻辑清晰、职责单一的简单函数,关键在于“能省则省,但别牺牲可读性”。它不是越短越好,而是用对地方才真正简洁高效。
参数少、逻辑单行,直接省括号和 return
一个参数 + 一行返回值,是最典型的简写场景。括号和 return 都可省略,代码干净利落。
- ✅ 推荐:
const square = x => x * x; - ✅ 推荐:
const isActive = user => user.status === 'online'; - ❌ 避免:
const square = (x) => { return x * x; };(多写了三处冗余)
多参数或无参数,括号不能省
参数个数决定括号是否必需:零个或多个参数必须加小括号,这是语法硬性要求。
- ✅ 无参数:
const now = () => new Date(); - ✅ 两个参数:
const max = (a, b) => a > b ? a : b; - ❌ 错误:
const greet = => 'hi';(缺少 ()) - ❌ 错误:
const add = a, b => a + b;(多参数没括号,语法报错)
返回对象字面量,小括号包裹是必须项
箭头函数遇到 {} 会默认解析为函数体,而不是对象。想返回对象,就得用 () 包一层。
- ✅ 正确:
const getUser = () => ({ id: 1, name: 'Tom' }); - ❌ 错误:
const getUser = () => { id: 1, name: 'Tom' };(相当于空函数体,返回 undefined) - ❌ 错误:
const getUser = () => { return { id: 1, name: 'Tom' }; };(能运行但绕远路,违背简洁初衷)
函数体多行,显式写大括号和 return
一旦需要做判断、赋值、日志等多步操作,就必须用大括号,并手动 return。这时候它和普通函数表达式写法基本一致,只是少了 function 关键字。
- ✅ 清晰写法:
const formatUser = (user) => { const name = user.name?.trim() || 'Anonymous'; return { ...user, name }; - ❌ 混乱写法:
const formatUser = user => const name = user.name?.trim(); return { ...user, name };(语法错误,缺少 {})











