箭头函数是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.不支持重复的命名参数
无论在严格还是非严格模式,箭头函数都不支持重复命名的参数,而在传统函数中,只有严格模式下,才不支持重复命名的参数。
本文详细介绍了ES6中箭头函数与传统函数的主要区别,包括this的绑定、new调用、原型、参数处理等方面,帮助开发者理解箭头函数的特性和使用场景。

2550

被折叠的 条评论
为什么被折叠?



