プロキシが動的プログラミングのクラスを表す(dynamic languagesのように、ないmethod of problem solving)がmetaprogrammingと呼ばれ、絶対にプロキシを用いて行うことができる何がそれらなしで行うことができるとは限りません。実際にはこれが実際にプロキシが存在する理由です。これまで不可能だった全く新しい機能を有効にすることです。
プロキシを使用すると、純粋にJavaScriptエンジンの役割を果たしていたオブジェクトに対する操作を傍受することができます。プロパティへのアクセスと変更は、2つの明白な例です。
T.J.の回答は、プロキシなしでは実行できないことの良い例です。もう一つは、オブジェクトを指している参照に影響を与えることなく、バッキングデータストアをスワップアウトして完全に新しいオブジェクトに置き換えることができるようにするために、プロキシを使用しています。
プロキシなしでこれを行うには、オブジェクトの各フィールドを反復処理し、新しいオブジェクトの新しいフィールドにスワップアウトする必要があります。真のJavaScriptはそれを可能にするほどダイナミックであるが、プロキシーはそれをはるかにエレガントな方法で解決することを可能にする。プロキシの隠れたバッキングストアは単に新しいオブジェクトに置き換えられ、将来のすべてのプロパティへのアクセスは古いものではなく新しいバッキングストアですが、オブジェクト(実際にはプロキシです)への外部参照は賢明である必要はありません。それらには同じオブジェクト(あたかもそうであるため)であるかのように見えますが、今ではそれとはまったく異なるデータがあります。
これは、プロキシを使用できる例の1つです。彼らはいかに動的であるかのために本当に非常に強力です。私はちょうどそれらを知るようになっていますが、すでに私はかなり恋愛していると言うことができます。 :)
私はここに何が欠けているのかはっきりと分かります。ファサードが大いに役立った。ありがとう! –