- 弄清楚 this 指向
- 掌握箭头函数的语法
- 了解箭头函数的应用场景
回顾 this 指向
- 通过对象调用函数,this 指向对象。
- 直接调用函数,this 指向全局对象。
- 如果通过 new 调用函数,this 指向新创建的对象。
- 如果通过 apply、call、bind 调用函数,this 指向指定的数据。
- 如果是 DOM 事件函数,this 指向事件源。
箭头函数的语法
箭头函数是一个函数表达式,理论上,任何使用函数表达式的场景都可以使用箭头函数。
完整语法:
(参数1, 参数2, ...)=>{
// => 函数体
}
如果参数只有一个,可以省略小括号:
参数 => {
// => 函数体
}
如果箭头函数只有一条返回语句,可以省略大括号,和 return 关键字:
参数 => 返回值
// 若返回值恰好是一个对象
参数 => (返回值)
需要注意的点
- 箭头函数中,不存在
this
、arguments
、new.target
,如果使用了,则使用的是函数外层的对应的this
、arguments
、new.target
。 - 箭头函数没有原型。
- 箭头函数不能作为构造函数使用。
箭头函数的应用场景
参考文章:「sf」什么场景适合使用箭头函数:链接
适合使用箭头函数的场景有:
- 数组方法中的回调函数
- 为了绑定外层 this 的函数(比如: 8.6.1 手写 promise 中 constructor 里面的 resolve 和 reject)
- 临时性使用的函数,并不会调用它,比如:事件处理函数、异步处理函数、其他临时性的函数