箭头函数在 map 中简写需满足单表达式直接返回:单参数可省括号,如 [1,2,3].map(x => x*2);省花括号和 return 仅适用于单表达式,对象字面量需加小括号避免歧义;多语句或复杂逻辑须显式 return。

箭头函数在 map 中简写,核心是省略括号、花括号和 return 关键字——前提是函数体是**单个表达式且直接返回结果**。
单参数可省略小括号
当回调函数只有一个参数时,小括号可以省略:
✅ 简写写法:[1, 2, 3].map(x => x * 2) → [2, 4, 6]
['a', 'b'].map(str => str.toUpperCase())
[1, 2].map(x => {x * 2}) —— 缺少 return,返回 undefined
[1, 2].map(x => return x * 2) —— 箭头函数中不能用 return 关键字(除非有花括号)
Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设...
单表达式自动返回,省略花括号和 return
只要函数体是**一个表达式**(不是语句),就能隐式返回:
-
x => x + 1✅ 隐式返回x + 1 -
x => ({ id: x })✅ 返回对象字面量(注意外层小括号,避免被解析为代码块) -
x => { x + 1 }❌ 没有return,返回undefined -
x => { return x + 1 }✅ 但已失去“简写”意义,适合多语句逻辑
处理对象数组时的常见简写模式
从对象数组中提取字段或转换结构,非常简洁:
users.map(u => u.name) → 提取所有名字
users.map(({ id, name }) => ({ id, fullName: name })) → 解构 + 简洁对象返回
nums.map(n => n > 0 ? 'pos' : 'non-pos') → 单行三元运算符也适用
什么时候不能简写?
遇到以下情况,必须加花括号并显式写 return:
- 需要多条语句(比如先 console.log 再返回)
- 需要条件分支(
if)、循环、声明变量等 - 想返回一个空对象字面量:
() => {}是空代码块,应写成() => ({})
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










