模仿PHP的__get(),__ set()& Node.js中的__call()魔术方法

时间:2010-12-31 19:54:01

标签: php javascript node.js v8 magic-methods

我想知道是否有办法在Node中模仿PHP的魔术方法__get()和__set()。从这个问题:JavaScript getter for all properties我知道你可以在Rhino中做到这一点,但Node是在V8上构建的。 V8有办法做到这一点吗?

3 个答案:

答案 0 :(得分:3)

我相信你运气不好,至少as of March 2010。至少你有__defineGetter____defineSetter__,但我意识到这不是一回事。一般来说,我认为使用__noSuchMethod__ / __get / method_missing并不好,因为它会使代码更难阅读。考虑在没有它的情况下尝试过来,看看它是否能让你的代码更清晰。

答案 1 :(得分:2)

没有答案?看看nowjs。他们似乎已找到一种方法使__get()和__set()在JavaScript中工作。我无法弄清楚他们是如何从源代码中做到的。 :(

编辑:查看Monitor All JavaScript Object Properties (magic getters and setters)

答案 2 :(得分:1)

请查看my following answer,了解如何使用ES6 proxies解决此问题。