1. 弄清楚 this 指向
  2. 掌握箭头函数的语法
  3. 了解箭头函数的应用场景

回顾 this 指向

  1. 通过对象调用函数,this 指向对象。
  2. 直接调用函数,this 指向全局对象。
  3. 如果通过 new 调用函数,this 指向新创建的对象。
  4. 如果通过 apply、call、bind 调用函数,this 指向指定的数据。
  5. 如果是 DOM 事件函数,this 指向事件源。

箭头函数的语法

箭头函数是一个函数表达式,理论上,任何使用函数表达式的场景都可以使用箭头函数。

完整语法:

  1. (参数1, 参数2, ...)=>{
  2. // => 函数体
  3. }

如果参数只有一个,可以省略小括号:

  1. 参数 => {
  2. // => 函数体
  3. }

如果箭头函数只有一条返回语句,可以省略大括号,和 return 关键字:

  1. 参数 => 返回值
  2. // 若返回值恰好是一个对象
  3. 参数 => (返回值)

需要注意的点

  • 箭头函数中,不存在 thisargumentsnew.target,如果使用了,则使用的是函数外层的对应的 thisargumentsnew.target
  • 箭头函数没有原型。
  • 箭头函数不能作为构造函数使用。

箭头函数的应用场景

参考文章:「sf」什么场景适合使用箭头函数:链接

适合使用箭头函数的场景有:

  • 数组方法中的回调函数
  • 为了绑定外层 this 的函数(比如: 8.6.1 手写 promise 中 constructor 里面的 resolve 和 reject)
  • 临时性使用的函数,并不会调用它,比如:事件处理函数、异步处理函数、其他临时性的函数