箭头函数是JavaScript中简洁的函数定义语法,使用=>符号,不绑定this、arguments等,继承外层作用域;适合简短回调,参数单个可省括号,单表达式可省return;不能作构造函数,无prototype,无arguments对象,需用剩余参数替代。

箭头函数是 JavaScript 中定义函数的一种简洁语法,它使用 => 符号,不绑定自己的 this、arguments、super 或 new.target,而是继承自外层作用域。
更短的函数写法
适合写简短的回调或逻辑简单的函数。参数只有一个时可省略括号,函数体只有一条表达式时可省略花括号和 return 关键字。
-
[1, 2, 3].map(x => x * 2)替代[1, 2, 3].map(function(x) { return x * 2; }) -
const sum = (a, b) => a + b比function sum(a, b) { return a + b; }更紧凑
自动绑定外层 this
箭头函数没有自己的 this,它会沿作用域链向上查找,始终指向定义时所在上下文的 this。这在事件处理、定时器或回调中避免了常见的 this 失去指向的问题。
- 类方法中用箭头函数定义回调,可直接访问实例属性:
handleClick = () => console.log(this.name) - 传统函数需手动绑定:
setTimeout(function() { console.log(this.name); }.bind(this), 100),而箭头函数无需绑定
不能作为构造函数使用
箭头函数没有 prototype 属性,也不能用 new 调用,否则会抛出错误。
立即学习“Java免费学习笔记(深入)”;
-
const Person = (name) => { this.name = name; };→new Person('Alice')报错TypeError: Person is not a constructor - 需要构造行为时,必须使用普通函数或 class
没有 arguments 对象
箭头函数内部无法访问 arguments,但可以使用剩余参数(...args)替代。
-
const log = () => console.log(arguments);→ 报错ReferenceError: arguments is not defined - 正确写法:
const log = (...args) => console.log(args);
它不是万能替代品,适用于简化表达、保持 this 一致性的场景;涉及构造、动态参数访问或需要重绑定 this 的情况,仍应选用传统函数。










