JavaScript箭头函数是什么_和普通函数有何不同?

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

JavaScript箭头函数是什么_和普通函数有何不同?-第1张图片-佛山资讯网

箭头函数是 ES6 引入的一种简洁的函数写法,用 => 定义,本质是函数表达式的简写形式。它和普通函数最核心的区别不在语法多“酷”,而在于 没有自己的 thisargumentssupernew.target,且不能作为构造函数使用。

箭头函数没有独立的 this

普通函数调用时,this 指向由调用方式决定(如对象方法调用指向该对象,单独调用指向全局或 undefined)。箭头函数则完全不绑定 this,它直接继承外层作用域的 this 值,且无法通过 callapplybind 改变。

  • 适合用在回调中避免 this 丢失,比如事件处理、定时器、数组方法(mapfilter)里需要访问当前对象属性时
  • 但不适合定义对象方法——因为它的 this 不指向该对象,容易出人意料

没有 arguments 对象

箭头函数内部访问不到 arguments,想获取参数得改用剩余参数(...args)。

  • 普通函数:function() { console.log(arguments[0]); }
  • 箭头函数:() => { const [first] = arguments; } ❌ 报错;应写成 (...args) => console.log(args[0]);

不能用作构造函数

箭头函数没有 prototype 属性,也不能用 new 调用,否则会抛出 TypeError

标签: javascript es6 java app 工具 区别 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~