箭头函数能简化数组方法回调、避免this绑定问题;单参数单表达式可省略括号和return;返回对象需用小括号包裹;多参数或无参数须加括号;箭头函数自动继承外层this。

箭头函数能显著简化数组方法(如 map、filter、reduce 等)的回调写法,让代码更简洁、可读性更强,同时避免 this 绑定问题。
省略括号和 return —— 单参数 + 单表达式
当回调只接收一个参数,且函数体是单一表达式时,可省略括号、花括号和 return 关键字。
-
原写法:
[1, 2, 3].map(function(x) { return x * 2; }) -
箭头简化:
[1, 2, 3].map(x => x * 2)
这种写法最常用,尤其适合数据转换类操作,比如提取属性、计算新值。
隐式返回对象字面量 —— 注意小括号包裹
若想直接返回一个对象,必须用小括号包裹,否则大括号会被解析为函数体。
-
错误写法(返回 undefined):
users.map(user => { id: user.id, name: user.name }) -
正确写法:
users.map(user => ({ id: user.id, name: user.name }))
小括号告诉 JavaScript 这是一个表达式,而非代码块。
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
多参数或无参数时的语法要点
箭头函数对参数数量很灵活,但需注意语法规范:
- 两个及以上参数:必须加括号,如
(a, b) => a + b - 无参数:用空括号,如
() => console.log('hello') - 带默认值或解构参数:同样需要括号,如
([x, y]) => x + y或({name}) => name
在 reduce 中很常见:arr.reduce((sum, item) => sum + item, 0)。
避免 this 陷阱 —— 箭头函数自动绑定外层 this
普通函数回调中,this 容易丢失;箭头函数继承外层作用域的 this,天然适合类方法中使用。
-
问题场景:类中用
map时,若用function回调,this指向可能出错 -
解决方式:改用箭头函数,
this自动指向当前实例
例如:this.items.map(item => this.format(item)),无需 .bind(this) 或中间变量。

















