MDN里不是有附例子说明吗?
意思就是在箭头函数中的this和箭头函数外的this是一致的。而且是绑定的,不受bind/call/apply干扰的
比如说
var _this = this;
var obj = {
name: 'obj',
b: () => {
// 这里的 this 同 obj 所处作用域的this是一致的 即 this === _this
console.log(this === _this)
}
}
obj.b() // true
obj.b.bind({x: 1})() // true
obj.b.call({y: 2}) // true
如果你的箭头函数的外层还是一个箭头函数的函数体那么继续往上查找this,直到全局作用域即最外层this既window【严格模式为undefined】。有点在作用域链中查找变量的感觉。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…