以下の例で詳しく見ていきます。同じ値を返さなければなりません。プロトタイプを参照すると、常にターゲットオブジェクトのプロトタイプが返却される必要があります。これらの操作をインターセプトできますが、これらのルールには従う必要があります。不変条件は、言語機能の正しさと一貫した動作を保証するものです。(https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots)にありますが、変なことをしない限りは違反することはないでしょう。実際の例でそれがどのように動作するのかを見てみましょう。一般的なトラップ(traps)はプロパティの読み書きです。これはプロパティが読み取られたとき、以下の引数で実行されます。最初の引数として渡されるターゲットオブジェクトです。して使われるオブジェクトです。継承している場合は、継承したオブジェクト)です。現時点ではこの引数は不要です。詳細については後ほど説明します。返す数値配列を作ります。返すプロキシでラップします。トラップを使用するのは非常に簡単です。用のロジックを組むことができます。未翻訳のままのフレーズを残すほうがよいです。なく、未翻訳のフレーズを返すようにしましょう。読み取り操作をインターセプトするプロキシでラップします。Proxy注意:プロキシがどのように変数を上書きするかに注意してください。...);プロキシはどこでもターゲットオブジェクトを完全に置き換える必要があります。プロキシされた後はターゲットオブジェクトを参照しないでください。参照すると、簡単に台無しになります。トラップでのバリデーション数値専用の配列がほしいとしましょう。別の型の値が追加された場合、エラーにする必要があります。トラップはプロパティが書き込まれたときに発生します。最初の引数として渡されるターゲットオブジェクトです。プロパティに関係します。発生)を返す必要があります。プロパティは値が追加されたときにオートインクリメントされます。プロキシは何も破壊していません。ような、値を追加する配列メソッドを上書きする必要はありません。操作を使用しており、プロキシによりインターセプトされるからです。したがって、コードはクリーンであり簡潔です。返すのを忘れないでください上記のように、維持すべき条件があります。返さなければなりません。トラップによりインターセプトされる)を使用してプロパティのリストを取得しています。シンボルキーを返します。シンボルキーを返します。説明があります)を持つ非シンボルのキー/バリュー値を返します。フラグを持つ非シンボルキーとプロトタイプキーをループします。...しかし、これらはすべてその内部メソッドで得られたリストから始まります。始まるプロパティをスキップします。John,30これまでのところ、期待通り動作しています。<empty>なぜでしょう?理由は簡単です。フラグを持つプロパティだけを返すからです。