答:消除函数的二义性。 function 函数可以 fun()调用,也可以 new 调用,这种设计不太好,所以设计了 class 来 new,不可以直接调用,又设计了箭头函数来直接调用,不可以 new。 这也是回答普通函数和箭头函数区别的依据 箭头函数区别于普通函数 不能作为Generator函数,因为它里面不能使用yield关键字没有构造函数,不能new没有 arguments不能函数提升this为上层的没有原型箭头函数的底层原理:底层相当于.bind(),并且永远绑定外部的this,因此,call无法替换箭头函数中的this