gpt4 book ai didi

javascript - 从对象 setter 访问父 `this`

转载 作者:行者123 更新时间:2023-11-30 09:13:22 25 4
gpt4 key购买 nike

如何从对象中的 setter 访问父上下文?

在下面的示例中,假设我需要变量 Foo.other 来计算 state.bar setter。你将如何实现这一目标?

class Foo {
constructor() {
this.other = 'i am an other variable'
this.state = {
_bar: 'default',
set bar(flag) {
console.log() // how can I access foo.other from here?
this._bar = flag
},
get bar() {
return this._bar
}
}
}
}

const foo = new Foo()
foo.state.bar = 'yolo'

最佳答案

this 返回指向当前对象的指针。您可以将该引用存储在一个变量中,然后在范围更改时使用该变量检索旧的 this 对象。此类变量的最常见名称是 self_this_selfme_me.

class Foo {
constructor() {
var self = this;
this.other = 'i am an other variable';
this.state = {
_bar: 'default',
set bar(flag) {
console.log(self.other);
this._bar = flag;
},
get bar() {
return this._bar;
}
}
}
}

const foo = new Foo();
foo.state.bar = 'yolo';

关于javascript - 从对象 setter 访问父 `this`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56903456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com