JS -- (15) 箭头函数

71 阅读1分钟
<1> 箭头函数与普通函数的区别
1) 箭头函数比普通函数更简洁
  • 如果没有参数,就可以只写一个空括号
  • 如果只有一个参数,就可以省略小括号
  • 如果函数体的返回值只有一句,就可以省略大括号
2) 在其内部不能使用 arguments、super 和 new.target
  • 在箭头函数内部使用 arguments ,其实访问的是其外层函数的 arguments 的值
3) 没有 prototype 属性
4) 没有自己的 this

箭头函数不会创建自己的 this ,它只会继承【自己作用域的上一层(即其所在的上下文)】继承this,所以箭头函数中的 this 指向在它定义时就已经确定了,**之后都不会变!!!**

2158.png

注意:

  • .call() 、.apply() 、.bind() 方法也不会改变箭头函数的 this 指向!!!
5) 不能被当作构造函数进行 new 操作

因为 new 操作符的执行过程:

  • 创建一个新的实例对象
  • 将构造函数内部的 this 执行该新建的实例对象
  • 执行该构造函数,为实例对象添加属性和方法
  • 返回该对象

因为箭头函数没有自己的 this,所以第二、三步就执行不了!!!!