箭头函数是es6语法糖,省略function、括号、花括号和return,自动绑定外层this,适用于回调等场景,但不可作为构造函数,需兼顾可读性。

箭头函数是 ES6 引入的语法糖,它能帮你省去 function 关键字、括号、花括号甚至 return,让代码更紧凑、可读性更强——前提是用对场景。
自动绑定 this,避免手动 bind
普通函数中,this 指向调用时的上下文,容易出错;箭头函数则继承外层作用域的 this,特别适合事件回调、定时器或对象方法中使用。
- ❌ 错误写法(定时器中 this 指向丢失):
setTimeout(function() { console.log(this.name); }, 100); - ✅ 箭头函数写法(自动捕获外层 this):
setTimeout(() => console.log(this.name), 100);
单参数 + 单表达式,省略括号和 return
当函数只有一个参数且只返回一个表达式结果时,可以极致精简。
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
- 普通写法:
arr.map(function(x) { return x * 2; }); - 箭头函数简化:
arr.map(x => x * 2); - 多个参数或语句需加括号和花括号:
arr.filter((item, index) => item > 0 && index % 2 === 0)
配合高阶函数提升可读性
在 map、filter、reduce 等链式操作中,箭头函数让逻辑聚焦在数据变换本身,而非函数定义形式。
- 传统写法嵌套多层:
users.filter(function(u) { return u.active; }).map(function(u) { return u.name.toUpperCase(); }); - 箭头函数链式更清晰:
users.filter(u => u.active).map(u => u.name.toUpperCase());
注意不能作为构造函数
箭头函数没有 prototype,也不能用 new 调用。需要实例化对象时,仍得用传统函数或 class。
- ❌ 报错:
const Person = () => {}; const p = new Person(); // TypeError - ✅ 正确方式:
const Person = function(name) { this.name = name; };或class Person { constructor(name) { this.name = name; } }
不复杂但容易忽略:箭头函数简洁有力,但别为了省字符而牺牲可读性。参数名有意义、逻辑不过于紧凑,才是好代码的核心。










