1

Python の __getattribute__() (または __getattr__()) の機能を JavaScript で実装する方法はありますか? つまり、解決できないメソッド名またはプロパティ名でオブジェクトが呼び出されるたびに呼び出されるメソッドですか?

たとえば、次のいずれかを実装するメカニズム:

# Python's method syntax 
o.Name(args) # o.__getattr__('Name') is called and returns 
             # a function which is called with args
# Alternative method syntax
o.Name(args) # o.__getattr__('Name', args) is called and returns a value

# Properties syntax
o.Name = v  # o.__getattr__('Name', v) is called
v = o.Name  # o.__getattr__('Name') is called and returns a value

私はメソッドの構文に最も興味がありますが、プロパティの構文はおまけです。ありがとう!

4

2 に答える 2

1

@ thg435 が指摘したように、この問題はIs there an equality of the __noSuchMethod__ feature for properties, or a way to implement it in JS? でより狭い範囲で議論されました。しかし、そこからの答えはここに当てはまります。

JavaScript でこれを行うための適切な API が作成中であり、ECMAScript Harmony Proxiesと呼ばれ、最近Direct Proxyに置き換えられた可能性があります。この API はまだクロスプラットフォームをサポートしていませんが、最近の Firefox や chrome などの一部のプラットフォームでは機能する可能性があります。

于 2013-05-17T13:04:42.547 に答える