JavaScript中箭头函数与传统函数的区别

本文详细介绍了ES6中箭头函数与传统函数的主要区别,包括this的绑定、new调用、原型、参数处理等方面,帮助开发者理解箭头函数的特性和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

箭头函数是ES6中新增的特性,下边将介绍它和传统函数的区别。

1.没有this、super、arguments和new.target的绑定

在箭头函数中,上边的值都有与箭头函数最近的非箭头函数决定。

2.不能通过new关键字调用

箭头函数没有没有constructorf方法,所以就不能被用作构造函数,如果用new 关键字调用箭头函数,程序会抛出TypeError

let Test = () => 3
let b = new Test()  //Uncaught TypeError: Test is not a constructor
3.没有原型

由于不可以通过关键字new调用箭头函数,因此没有原型,所以也没有prototype这个属性。

4.不可以改变this的绑定

虽然箭头函数仍然可以调用call()、apply()、bind()三种方法,但是箭头函数的this值不会受这三个函数的影响。

5.不支持arguments对象

箭头函数没有arguments对象的绑定,所以只能通过命名参数不定参数两种形式访问函数的参数。但是箭头函数可以访问外围函数的arguments对象。

6.不支持重复的命名参数

无论在严格还是非严格模式,箭头函数都不支持重复命名的参数,而在传统函数中,只有严格模式下,才不支持重复命名的参数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值