为什么未定义对象, 如果我在arr.find中用“ this”来称呼它?
let o = { name: 'foobar' };
let arr = [3, o, 4, 5];
arr.find(x => console.log(this), o);
答案 0 :(得分:3)
如果您想使用find()
的第二个参数来设置this
,则需要传递一个常规函数,因为您无法将this
重新绑定到箭头函数:>
let o = { name: 'foobar' };
let arr = [3, o, 4, 5];
let p = arr.find(function(x){
console.log(this)
return x === this
}, o);
console.log("found:", p)