gpt4 book ai didi

javascript - 如何在构造函数中包装使用 Proxy 构造的对象?

转载 作者:行者123 更新时间:2023-11-29 16:02:13 24 4
gpt4 key购买 nike

我了解 Proxy 可用于更改对象级行为,例如括号表示法 get 和 set。我能找到的所有示例都展示了构造一个对象,然后用 Proxy 调用包装它。有没有一种方法可以使用 ES6 类构造函数符号来定义类 Foo,这样从构造函数返回的对象已经包装在 Proxy 中,而不是构造函数还必须单独调用 Proxy 吗?

提前致谢。

最佳答案

如果我正确理解你的问题,你想做的是在构造函数中返回一个像这样的新代理:

class MyClass {
constructor() {
return new Proxy(this, {
// Proxy settings here
})
}
}

在此示例中,我们创建了一个新类,然后调用了一些属性。然后代理将只打印出为简单起见调用的属性。

class MyClass {
constructor() {
return new Proxy(this, {
get: (target, key) => {
console.log('I am the key: ' + key)
return Reflect.get(target, key)
}
})
}
}

let c = new MyClass
c.awesome
c.billy
c.superTroopers

if (c instanceof MyClass) {
console.log('I am an instance of MyClass')
} else {
console.log('I am not an instance of MyClass')
}

关于javascript - 如何在构造函数中包装使用 Proxy 构造的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51177510/

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