箭头函数和普通函数的区别
箭头函数和普通函数的区别
-
格式和声明
普通函数:function() {},可以作函数声明和函数表达式
箭头函数:() => {},只可以用作函数表达式
-
new和原型的区别
普通函数:可以调用new,有原型
箭头函数:不能调用new,没有原型
-
arguments、super、new.target的区别
普通函数:有arguments、super、new.target对象
箭头函数:没有arguments、super、new.target对象,但是可以调用外围的arguments、super、new.target
-
this的执行区别
普通函数:this是动态的,指向调用函数的对象
箭头函数:一般指的是全局对象,但是被普通函数包含的时候指向上一层
-
修改this的指向
普通函数:可以用call、apply、bind修改this的指向
箭头函数:不可以修改this的指向