十一:如果new一个箭头函数的会怎么样?箭头函数的this指向哪里?

82 阅读1分钟

如果new一个箭头函数的会怎么样?

箭头函数是ES6中提出来的,它没有prototype,也没有自己的this指向,更不可以使用arguments参数,所以不能New一个箭头函数。
new操作符的实现步骤如下:

  1. 创建一个对象
  2. 将构造函数的作用域赋给新对象(也就是将对象的_proto_属性指向构造函数的prototype属性)
  3. 指向构造函数中的代码,构造函数中的this指向该对象(也就是为这个对象添加属性和方法)
  4. 返回新的对象 所以,上面的第二、三步,箭头函数都是没有办法执行的。

箭头函数的this指向哪里?

箭头函数不同于传统的javascript中的函数,箭头函数并没有属于自己的this,它所谓的this是捕获其所在上下文的this值,作为自己的this值,并且由于没有属于自己的this,所以是不会被new调用的,这个所谓的this也不会被改变。