なく、単なるアクセスです。それをすることができます。これを使うことですべてが上手く動きます。使用したゲッターに渡されます。呼び出しはトラップとまったく同じ名前が付けられており、同じ引数を受け付けます。特別にそのように設計されました。安全かつ考えるまでもない分かりやすい手段で操作を転送することができます。プロキシの制限プロキシは既存のオブジェクトの動作を最も低いレベルで変更したり微調整する独自の方法を提供します。それでも完璧ではありません。いくつか制限があります。それらはプロパティに似ていますが、内部で仕様専用の目的で予約されています。アイテムを保存します。内部メソッド経由ではなく、直接アクセスします。インターセプトすることができません。内部の話なのに気にする必要はあるのでしょうか?ここに問題があります。このような組み込みのオブジェクトがプロキシされると、プロキシはこれらの内部スロットを持たないため、組み込みのメソッドは失敗します。内部スロットに保存します。プロキシはそのようなスロットはありません。内には見つけることができず失敗します。関数プロパティをターゲットオブジェクト(map)自身にバインドするので、問題なく動作します。内部スロットにアクセスするのは成功します。内部スロットを使用していません。以前から存在していたこともあり、歴史的な理由によるものです。したがって配列をプロキシする際にはこのような問題は起こりません。プライベートフィールド似たようなことがプライベートクラスフィールドでも起こります。プロパティへアクセスすると壊れます。Errorこれは、プライベートフィールドが内部スロットを使用して実装されているからです。あり、プライベートフィールドのスロットを持っていません。Guestただし、この解決策にも欠点があります。以前説明したとおり、この方法は元のオブジェクトをメソッドに公開するので、メソッドの処理によってはさらにオブジェクトが渡される可能性があり、他のプロキシされた機能を破壊する可能性があります。元のオブジェクトは異なるオブジェクトです。元のオブジェクトをキーとして使用し、その後プロキシすると、プロキシは見つかりません。見つけることができません。プロキシは異なるオブジェクトだからです。delete(deleteProperty)などの多くの演算子をインターセプトすることができます。オブジェクトへの厳密等価テストをインターセプトする方法はありません。オブジェクトは自身にのみ厳密に等しく、他の値とは等しくありません。したがって、オブジェクトの等価を比較するすべての演算子と組み込みのクラスはオブジェクトとプロキシを区別します。ここには透過的な替わりはありません。プロキシは、無効にすることのできるプロキシです。リソースに対して、いつでもアクセスを閉じられるようにしたいとしましょう。その方法としては、リソースをトラップをしない取り消し可能なプロキシでラップすることです。このようなプロキシはオブジェクトへ操作を転送しつつ、いつでもそれを無効にすることができます。関数を持つオブジェクトを返します。呼び出しは、プロキシからターゲットオブジェクトへのすべての内部参照を削除します。これにより繋がりがなくなります。ターゲットオブジェクトはその後ガベージコレクトできます。保持することもできます。持って回る必要がないことです。使用しているのは、ガベージコレクションをブロックしないようにするためです。一緒にメモリ上から削除することができます。オブジェクトのラッパーであり、操作をオブジェクトへ転送し、必要に応じてその一部をトラップします。クラスや関数を含め、あらゆる種類のオブジェクトをラップすることができます。プロキシは独自のプロパティやメソッドは持っていません。オブジェクトに転送します。プロパティやメソッドを作成したり、デフォルト値、オブザーバブルオブジェクト、関数デコレータなど様々なものを実装することができます。異なるプロキシで複数回オブジェクトをラップし、機能の様々な側面でオブジェクトデコレートすることも可能です。補完するためのものとして設計されています。これらを使用してターゲットオブジェクトに転送する必要があります。あり、それらへのアクセスはプロキシすることはできません。上記の回避策を参照してください。プライベートクラスフィールドにも同じことが当てはまります。してターゲットオブジェクトをもつ必要があります。インターセプトできません。ベンチマークはエンジンによりますが、通常、最も単純なプロキシを使用したプロパティへのアクセスするにも数倍時間がかかります。オブジェクトのみです。代わりに、存在しないプロパティへの参照時にはエラーをスローするようなプロキシを作成してください。これはプログラミングのミスを早期に検出するのに便利です。array[-1]プログラム言語によっては、負の値を使って配列要素にアクセスすることが可能で、この場合は末尾から数えられます。