箭头函数单行返回最简写法是省略花括号和return,直接写表达式;返回对象时须用小括号包裹字面量;适用于纯表达式链式调用,但需调试、多分支或await时应显式书写。

箭头函数在单行返回场景下最简洁的写法是省略花括号和 return 关键字,直接写表达式。
基础写法:省略 return 和大括号
当函数体只有一条表达式且需要返回其结果时,可直接写表达式,自动隐式返回:
-
const add = (a, b) => a + b;—— 等价于return a + b -
const toUpper = str => str.toUpperCase();—— 单参数时连括号也可省略 -
const getLength = arr => arr?.length ?? 0;—— 支持可选链与空值合并等现代语法
注意返回对象字面量的陷阱
如果想返回一个对象,必须用小括号包裹,否则大括号会被解析为函数体:
- ✅ 正确:
const createObj = () => ({ name: 'Alice', age: 30 }); - ❌ 错误:
const createObj = () => { name: 'Alice', age: 30 };(语法错误,且无返回)
结合常见操作保持简洁性
单行箭头函数特别适合链式调用中的回调,如数组方法:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
[1, 2, 3].map(x => x * 2)users.filter(u => u.active).map(u => u.name)data.find(item => item.id === targetId)
只要逻辑是纯表达式、无副作用、无需提前退出,就适合用这种写法。
何时不该强行单行化
以下情况建议加花括号和显式 return,哪怕只有一行:
- 需要调试(加断点或 console.log)
- 返回值依赖条件分支(如
a > 0 ? 'pos' : 'neg'可以,但多层 if 不宜) - 涉及 await 或 Promise 链(虽可写成
async () => await fetch(...),但可读性下降)

















