箭头函数是ES6引入的简洁函数语法,使用=>定义,无自身this,捕获外层上下文this,避免回调中this指向错误,如setTimeout内正确访问对象属性;单参数可省略括号,支持剩余参数替代arguments,但不可作为构造函数使用。

箭头函数是 JavaScript 中一种更简洁的函数书写方式,它使用 => 语法来定义函数,从 ES6(ECMAScript 2015)开始引入。它不仅让代码更短,还改变了 this 的绑定行为。
基本语法
箭头函数的写法比传统函数更简洁:
- // 普通函数
- function add(a, b) {
- return a + b;
- }
- // 箭头函数写法
- const add = (a, b) => a + b;
如果只有一个参数,括号可以省略:
const square = x => x * x;this 的绑定不同
箭头函数没有自己的 this 值,它会捕获定义时所在上下文的 this。这意味着在对象方法或事件回调中使用时,不容易出现 this 指向错误的问题。
例如,在普通函数中,setTimeout 里的 this 可能指向全局对象:
Android 基础知识入门 pdf,介绍什么是Android、Android可以完成的功能、Android架构、Android应用程序框架、Android函数库等,从开始安装Android开始,到环境配置,到一步步编写复杂的应用程序,本书将带你了解基础但有内涵的Android入门知识。
- const obj = {
- name: 'Alice',
- sayHi: function() {
- setTimeout(function() {
- console.log(this.name); // undefined
- }, 100);
- }
- };
改用箭头函数后,this 正确指向 obj:
- sayHi: function() {
- setTimeout(() => {
- console.log(this.name); // Alice
- }, 100);
- }
不能用作构造函数
箭头函数不能使用 new 关键字调用,因为它没有自己的 prototype,也不支持 arguments 对象。如果需要动态参数,可以用剩余参数(...args)代替。
const showArgs = (...args) => { console.log(args); }; showArgs(1, 2, 3); // [1, 2, 3]基本上就这些。箭头函数适合用于简化逻辑和避免 this 问题,但在需要使用 arguments、构造函数或动态 this 的场景下,还是用普通函数更合适。









