箭头函数用=>替代function且自动绑定this;省略大括号仅当函数体为单个表达式,否则须用大括号并显式return。

箭头函数是 ES6 引入的简洁写法,核心在于用 => 替代 function 关键字,并自动绑定 this。是否省略大括号,取决于函数体是否为单个表达式。
基本语法结构
箭头函数由参数、箭头符号和函数体三部分组成:
- 无参数:`() => 表达式` 或 `() => { 语句 }`
- 单个参数:`x => 表达式`(可省略小括号)
- 多个或无参/复杂参数:`(a, b) => 表达式` 或 `(a, b) => { 语句 }`
省略大括号的前提:必须是单一表达式
只有当函数体是**一个表达式**(不是语句),且你想让它自动返回结果时,才能省略大括号和 return:
-
x => x * 2等价于x => { return x * 2; } -
() => "hello"等价于() => { return "hello"; } -
x => { console.log(x); return x + 1; }❌ 不能省略大括号(含语句+多操作) -
x => x++✅ 可省略(x++是表达式,但注意它返回自增前的值)
不能省略大括号的常见情况
以下情形必须保留大括号,否则语法错误或逻辑异常:
- 函数体内有变量声明:
x => { const y = x * 2; return y; } - 包含条件判断或循环:
arr => { if (arr.length) return arr[0]; } - 需要多次执行语句:
name => { console.log("Hi"); return "Hello " + name; } - 想返回对象字面量(需加小括号避免被解析为代码块):
() => ({ id: 1, name: "A" })
隐式返回与显式返回的区别
省略大括号时是**隐式返回**,只适用于表达式;带大括号时是**显式返回**,必须写 return 才有返回值:
-
x => x + 1→ 返回x + 1 -
x => { x + 1 }→ 不返回任何值(undefined),因为没写return -
x => { return x + 1; }→ 正确返回
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











