箭头函数是JavaScript中语法更简洁的函数定义方式,无自身this、arguments、super或new.target,不可用作构造函数,适合回调等需词法this绑定场景,复杂逻辑仍推荐传统函数。
箭头函数是 JavaScript 中定义函数的一种简洁写法,它没有自己的 thi、
sarguments、super 或 new.target,且不能用作构造函数。
相比传统函数表达式,箭头函数省略了 function 关键字和花括号(单参数、单表达式时还可省略括号和 return):
const add = function(a, b) { return a + b; };
const add = (a, b) => a + b;
const square = x => x * x;
const sayHi = () => console.log('Hi');
箭头函数不创建自己的 this,而是继承外层作用域的 this 值。这在回调、定时器或事件处理中特别有用,避免手动绑定或使用 bind:
this 可能丢失(如 setTimeout(obj.method, 100))setTimeout(() => obj.method(), 100);
handleClick = () => { this.setState({ clicked: true }); };
箭头函数没有 prototype 属性,也不支持 new 调用:
const Foo = () => {}; new Foo(); // TypeError: Foo is not a constructorarguments 对象,可用剩余参数替代:(...args) => args[0]
基本上就这些。用对场景能提升可读性,但别为了简洁牺牲清晰度——比如多行逻辑、需要动态 this 或构造行为时,还是该用普通函数。