箭头函数不能作为构造函数,普通函数可以作为构造函数。普通函数有自己的this, 箭头函数没有自己的this, 箭头函数继承外部的this。箭头函数没有自己的augments对象,普通函数有自己的augments对象。箭头函数可以简化代码,比如对数组元素进行操作可以通过.map方法和箭头函数配合实现。箭头函数应为没有自己的this, 所以其继承this的属性也可以在嵌套函数中比普通函数更方便。

箭头函数的this为定义时所在的this,不绑定this(因为箭头函数没有Constructor),会捕获其所在上下文的this作为自己的this

若包裹在函数中,就是函数调用时所在的对象,放在全局就是window,箭头函数的this就是外层代码块的this,固定不变。

  • 没有自己的this
  • 继承来的this不会变
  • 没有arguments,实际获得的arguments是外层函数的arguments
  • call apply和bind无法改变this指向
  • 不可用于构造函数,没有new关键字
  • 无prototype
  • 不能用于generator函数,没有yield关键字

    定义对象的大括号不是一个单独的执行环境,它依旧处于全局环境中