class Test {
name = 'Test Class'
getName() {
console.log(this.name)
}
}
let t = new Test()
let obj = {
name: 'Obj',
getName: t.getName
}
obj.getName() // 输出 Obj, 因为最终调用 getName 的对象是 obj
箭头函数里面的this是静态计算的,也就是无论后面谁调用 getName、有没有对象调用 getName, 箭头函数里面的 this 就已经确定了
class Test {
name = 'Test Class'
getName = () => {
console.log(this.name)
}
}
let t = new Test()
let obj = {
name: 'Obj',
getName: t.getName
}
obj.getName() // 输出 Test class
网友评论