this 指向(启发性的例子)

2022-10-12  本文已影响0人  苍老师的眼泪
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


上一篇 下一篇

猜你喜欢

热点阅读