JavaScript のプロキシは、基本的な操作 (プロパティの検索、割り当て、列挙、関数の呼び出しなど) の動作をカスタマイズできる特別なオブジェクトです。別のオブジェクト。それは、オブジェクトとのやり取りを傍受して変更できるいたずらな仲介者がいるようなものです。
プロキシはさまざまな理由で役立ちます:
検証: 割り当てを検証してデータの整合性を確保します。
ロギング: デバッグまたは監視のためにオブジェクトに対する操作を追跡します。
デフォルト値: プロパティにアクセスするときにデフォルト値を提供します。
アクセス制御: 特定のプロパティへのアクセスを制限または変更します。
仮想プロパティ: オブジェクト上に物理的に存在しないプロパティを定義します。
ティミーという名前の子供がいて、彼がクッキーを食べすぎないよう注意したいと想像してください。あなたは過保護な親として行動し、彼の Cookie 摂取量を監視および制御します。
let timmy = { cookies: 3 }; let overprotectiveParent = new Proxy(timmy, { get(target, property) { console.log(`Overprotective Parent: "Timmy currently has ${target[property]} ${property}."`); return target[property]; }, set(target, property, value) { if (property === 'cookies' && value > 5) { console.log('Overprotective Parent: "No, Timmy, you can’t have more than 5 cookies!"'); return false; } console.log(`Overprotective Parent: "Alright, Timmy, you can have ${value} ${property}."`); target[property] = value; return true; } }); // Checking Timmy's cookies console.log(overprotectiveParent.cookies); // Overprotective Parent: "Timmy currently has 3 cookies." // Trying to give Timmy too many cookies overprotectiveParent.cookies = 6; // Overprotective Parent: "No, Timmy, you can’t have more than 5 cookies!" // Setting a reasonable number of cookies overprotectiveParent.cookies = 4; // Overprotective Parent: "Alright, Timmy, you can have 4 cookies." console.log(overprotectiveParent.cookies); // Overprotective Parent: "Timmy currently has 4 cookies."
以上がJavaScript のプロキシの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。