箭头函数和普通函数的区别
高阶面试系列之什么是函数的二义性,为什么要消除它,以及箭头函数和普通函数的区别。
前言:
在正式聊函数的二义性前我们先回顾下“具名函数”和“箭头函数”的区别。
区别:

二义性的由来:
了解了上述普通函数和箭头函数的区别之后,我们会发现一个问题,普通函数可以作为一个构造函数和类来使用,这时候就会产生一个歧义,一个函数的命名和调用有多种方式,比如我们先以普通函数的方式定义一个函数abc,它的调用方法可以是abc()也可以是new abc(),这就是函数的二义性。
二义性的解决:
在ESMAScript6中给js打补丁时,引入了两个概念,箭头函数 和 Class类,它们的作用都是为了消除函数的二义性。

