箭头函数是普通函数的简写,可以更优雅的定义一个函数,和普通函数相比,有以下几点差异:
- 函数体内的
this
对象,就是定义时所在的对象,而不是使用时所在的对象; - 不可以使用
arguments
对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替; - 不可以使用
yield
命令,因此箭头函数不能用作Generator
函数; - 不可以使用
new
命令,因为:- 没有自己的
this
,无法调用call、apply
; - 没有
prototype
属性,而new
命令在执行时需要将钩子函数的prototype
赋值给新的对象的__proto__
- 没有自己的