函数----箭头函数
1.箭头函数是es6中新增加特性。与普通函数的区别
相比之前的函数,外观看更加的简单,简洁;
例如:
es5中
let doNothing=function(){
}
es6中
let doNothing=()=>{
}
2.箭头函数不能通过new关键字调用 箭头函数没有Construct方法,所以不能被用作构造函数,如果通过new关键字调用箭头函数,程序会抛出错误。
3.没有原型,由于不可以通过new关键字调用箭头函数,因而没有构建原型的需求,所以箭头函数不存在prototype这个属性。
4.不可以改变this的绑定。函数内部的this值不可被改变,在函数的生命周期内始终保持一致。
5.箭头函数不支持arguments对象。箭头函数没有arguments绑定,所以必须通过命名参数和不定参数这两种形式访问函数的参数。
6.不支持重复的命名参数。无论在严格模式或非严格模式下,箭头函数都不支持重复的命名参数。而在传统或者普通函数的规定中,只有严格模式下才不支持重复的命名参数。
7.没有this,super,arguments和new.target绑定。 箭头函数中的this、super、arguments及new.target这些值由外围最近一层非箭头函数决定。
导致这些区别的原因?