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