ES6箭头函数及this指向
箭头函数(=>):函数简写
- 无参数:
() => {}
- 单个参数:
x => {}
- 多个参数:
(x, y) => {}
- 解构参数:
({x, y}) => {}
- 嵌套使用:部署管道机制
- this指向固定化
- 并非因为内部有绑定
this
的机制,而是根本没有自己的this
,导致内部的this
就是外层代码块的this
- 因为没有
this
,因此不能用作构造函数
- 并非因为内部有绑定
箭头函数误区
- 函数体内的
this
是定义时所在的对象
而不是使用时所在的对象
- 可让
this
指向固定化,这种特性很有利于封装回调函数 - 不可当作
构造函数
,因此箭头函数不可使用new命令
- 不可使用
yield命令
,因此箭头函数不能用作Generator函数
- 不可使用
Arguments对象
,此对象在函数体内不存在(可用rest/spread参数
代替) - 返回对象时必须在对象外面加上括号