Proxy と Observable Slim を使用した JavaScript での変数の変更のリッスン
JavaScript には、変数の値が変更されたときにトリガーされるネイティブ イベントがありません。これにより、アプリケーション内のデータを監視する際に課題が生じる可能性があります。しかし、このニーズに対処する最新のソリューションが登場しました。
プロキシ オブジェクト
2018 年に導入されたプロキシ オブジェクトは、変更をインターセプトしてそれに応答する強力なメカニズムを提供します。オブジェクト。次のような set ハンドラーを定義できます。
const targetObj = {}; const targetProxy = new Proxy(targetObj, { set: function (target, key, value) { console.log(`${key} set to ${value}`); target[key] = value; return true; } });
この例では、targetObj のプロパティが変更されるたびにキーと新しい値をログに記録する方法を示します。
プロキシの欠点オブジェクト
ネストされたオブジェクトの Observable Slim
ネストされたオブジェクトへの変更を伴うシナリオの場合、 Observable Slim はカスタマイズされた機能を提供します解決策:
const test = {testing:{}}; const p = ObservableSlim.create(test, true, function(changes) { console.log(JSON.stringify(changes)); });
この例では、test.testing のプロパティに加えられた変更が JSON 形式でコンソールに記録されます。
結論
かつては JavaScript で変数の変更を監視するのは困難でしたが、現在では Proxy と Observable Slim が単純なシナリオと複雑なシナリオの両方に効果的なソリューションを提供します。 Proxy は個々のオブジェクトへの変更の追跡に優れていますが、Observable Slim はネストされたオブジェクトを簡単に処理します。
以上がProxy と Observable Slim を使用して JavaScript の変数の変更を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。