今天在面试某辅导公司前端岗位时,面试官问到了箭头函数和普通函数的区别,本以为只是一个简单的问题,在回答了箭头函数的this指向和不能作为构造函数以后,面试官一直问还有其他区别吗,弄得我一脸懵逼,回来查了下,确实有不少区别,平时自己学习得还是不够仔细,因此特意把这些区别记录下来。
1、箭头函数不绑定this,使用其所在的上下文的this值,作为自己的this值。
2、由于箭头函数本身不拘于this值,因此箭头函数不能作为构造函数,不能使用new
3、箭头函数在调用call,apply等方法时,只需要传入一个参数,对this值不会做出修改。
4、箭头函数无法通过arguments来获取到参数,需要通过...rest来进行获取
![](https://img.haomeiwen.com/i12754077/21b4a730b2c96390.jpg)
5、箭头函数没有原型属性
![](https://img.haomeiwen.com/i12754077/52645f5afb8367e6.png)
网友评论