箭头函数参数传递与普通函数基本一致但语法更简洁,无this/arguments/super/new.target;单参数可省括号,多参数或解构必须加括号,无参数须写(),返回对象字面量需用小括号包裹。

箭头函数的参数传递方式和普通函数基本一致,但语法更简洁,且没有自己的 this、arguments、super 或 new.target。关键在于括号和逗号的使用规则,以及单参数、多参数、无参数时的不同写法。
单个参数可省略括号
当箭头函数只接收一个参数时,圆括号可以省略,这是最常见也最容易忽略的简写形式。
-
const square = x => x * x;等价于const square = (x) => { return x * x; }; - 注意:即使参数是解构形式(如
{ id }),也必须加括号:const getId = ({ id }) => id; - 如果省略括号又用了花括号,会报错:
x => { x * x }实际返回undefined(因为花括号被解析为函数体,不是隐式返回)
多个参数必须用括号包裹
两个及以上参数,圆括号不可省略,否则语法错误。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
const add = (a, b) => a + b;✅ 正确 -
const add = a, b => a + b;❌ 报错:缺少括号 - 支持剩余参数:
const sum = (...nums) => nums.reduce((a, b) => a + b, 0);
无参数必须保留空括号
没有参数时,不能省略括号,必须写成 ()。
立即学习“Java免费学习笔记(深入)”;
-
const sayHi = () => "Hello";✅ -
const sayHi = => "Hello";❌ 语法错误 - 也可用于立即执行:
(() => console.log("run"))();
返回对象字面量需用小括号包裹
如果箭头函数要隐式返回一个对象,必须把对象用小括号包起来,否则花括号会被当成函数体。
-
const createObj = () => ({ name: "Alice", age: 30 });✅ 返回对象 -
const createObj = () => { name: "Alice", age: 30 };❌ 返回undefined,且name:被当作标签语句 - 显式返回则无需括号:
const createObj = () => { return { name: "Alice", age: 30 }; };

















