1.没有this, super, arguments和new.target绑定。以上值由外围最近一层非箭头函数决定
2.不能通过new关键字调用。箭头函数没有[[Construct]]方法,所以不能被用作构造函数
3.没有原型。由于不可以通过new关键字调用箭头函数,因而没有构建原型的需求,所以构造函数不存在prototype这个属性
4.不可以改变this的绑定。函数内部的this值不可被改变,在函数的生命周期内始终保持一致
5.不支持arguments对象。因此需要通过命名参数和不定参数的形式来访问函数的参数
6.不支持重复的命名参数
new.target:
元属性,可以通过函数的new.target是否存在来判断一个函数是否是通过new关键字调用的
[[Construct]]方法:
js函数有两个不同的内部方法:[[Construct]]和[[Call]]。当通过new关键字调用函数时,执行的是[[Construct]]函数,它负责创建实例对象,然后执行函数体将this绑定到该实例上;如果不使用new关键字调用函数,则执行[[Call]]函数,从而直接执行代码中的函数体。具有[[Construct]]方法的函数被统称为构造函数。箭头函数没有[[Construct]]方法,所以不能通过new来调用
参考资料:《深入理解ES6》