可以在 Javascript 中重新定义用于访问对象属性的函数吗?

当我执行一些测试时,我需要声明一个具有多个属性的对象,通常等于一个虚拟函数/值。

在 Python 中,可以通过方法定义__get__访问对象属性时调用的函数,以便可以在运行时计算该属性。

Javascript 中是否存在相同的可能性或一些解决方法?

我想做的是让Object xwherex[whatever_it_is]等于我定义的值。


隔江千里
浏览 104回答 2
2回答

米脂

您可以使用代理来模仿__get__使用带有get陷阱的处理程序:var handler = {    get:: function(obj, prop) {        // return some value here        if (prop === "name")             return "Foo"        return obj.prop    }}var proxy = new Proxy(dummyObj, handler)console.log(proxy.name) // => Foo

Cats萌萌

javascript 中的setter 或javascript 中的Proxy或getter 可以帮助解决您的任务。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript