gpt4 book ai didi

javascript - Nodejs,观察类字段的变化

转载 作者:搜寻专家 更新时间:2023-10-31 23:44:45 26 4
gpt4 key购买 nike

是否可以在 nodejs 中为类属性创建直接代理观察者?

class User{
constructor(name){
this.name = name;
let pObject = new Proxy(this,{
set: () => {
console.log("something changed"); // should be called
return true;
}
})
Object.assign(this, pObject) // something like this?
}
}



let user = new User("Mike");
user.name = "Jack"

最佳答案

您只想观察实例上的 setter 吗?您可以返回代理本身:

class User {
constructor(name) {
this.name = name;
let pObject = new Proxy(this, {
set: (obj, prop, value) => {
console.log("something changed"); // should be called
return Reflect.set(obj, prop,value) // set the property
}
})
return pObject
}
}



let user = new User("Mike");
user.name = "Jack"
user.state = "Alaska"
console.log(user)
console.log(user instanceof User)

关于javascript - Nodejs,观察类字段的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51411776/

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