箭头函数
箭头函数与传统JS函数的区别
-
没有this、super、arguments和new.target绑定 箭头函数中的this、super、arguments和new.target这些值由外围最近一层非箭头函数决定。
-
不能通过new关键字调用 箭头函数没有[[Construct]]方法,所以不能被用作构造函数,如果通过new关键字调用箭头函数,程序会抛出错误。
-
没有原型 由于不可以通过new关键字调用箭头函数,因而没有构建原型的需求,所以箭头函数不存在prototype这个属性。
-
不可以改变this的绑定 函数内部的this值不可被改变,在函数的生命周期内始终保持一致。
-
不支持arguments对象 箭头函数没有arguments绑定,所以你必须通过命名参数和不定参数这两种形式访问函数的参数。
-
不支持重复的命名参数 无论在严格还是非严格模式下,箭头函数都不支持重复的命名参数;而在传统函数的规定中,只有在严格模式下才不能有重复的命名参数。