箭头函数是ES6引入的简洁函数语法,使用=>定义,无自身this,捕获外层上下文this,避免回调中this指向错误,如setTimeout内正确访问对象属性;单参数可省略括号,支持剩余参数替代arguments,但不可作为构造函数使用。
箭头函数是 JavaScript 中一种更简洁的函数书写方式,它使用 => 语法来定义
函数,从 ES6(ECMAScript 2015)开始引入。它不仅让代码更短,还改变了 this 的绑定行为。
箭头函数的写法比传统函数更简洁:
如果只有一个参数,括号可以省略:
const square = x => x * x;箭头函数没有自己的 this 值,它会捕获定义时所在上下文的 this。这意味着在对象方法或事件回调中使用时,不容易出现 this 指向错误的问题。
例如,在普通函数中,setTimeout 里的 this 可能指向全局对象:
改用箭头函数后,this 正确指向 obj:
箭头函数不能使用 new 关键字调用,因为它没有自己的 prototype,也不支持 arguments 对象。如果需要动态参数,可以用剩余参数(...args)代替。
const showArgs = (...args) => { console.log(args); }; showArgs(1, 2, 3); // [1, 2, 3]基本上就这些。箭头函数适合用于简化逻辑和避免 this 问题,但在需要使用 arguments、构造函数或动态 this 的场景下,还是用普通函数更合适。