箭头函数是ES6引入的简洁函数写法,无独立this、arguments、super和new.target,不能作构造函数,适用于回调场景以避免this丢失,但不适用于对象方法或需继承的类方法。

箭头函数是 ES6 引入的一种简洁的函数写法,用 => 定义,本质是函数表达式的简写形式。它和普通函数最核心的区别不在语法多“酷”,而在于 没有自己的 this、arguments、super 和 new.target,且不能作为构造函数使用。
箭头函数没有独立的 this
普通函数调用时,this 指向由调用方式决定(如对象方法调用指向该对象,单独调用指向全局或 undefined)。箭头函数则完全不绑定 this,它直接继承外层作用域的 this 值,且无法通过 call、apply、bind 改变。
- 适合用在回调中避免
this丢失,比如事件处理、定时器、数组方法(map、filter)里需要访问当前对象属性时 - 但不适合定义对象方法——因为它的
this不指向该对象,容易出人意料
没有 arguments 对象
箭头函数内部访问不到 arguments,想获取参数得改用剩余参数(...args)。
- 普通函数:
function() { console.log(arguments[0]); } - 箭头函数:
() => { const [first] = arguments; } ❌ 报错;应写成(...args) => console.log(args[0]);
不能用作构造函数
箭头函数没有 prototype 属性,也不能用 new 调用,否则会抛出 TypeError。
标签: javascript es6 java app 工具 区别 作用域
还木有评论哦,快来抢沙发吧~