JavaScript での変数の変更を検出するための効果的なアプローチ
JavaScript を使用する場合、次のような場合に通知が必要なシナリオに遭遇することがあります。特定の変数の値が変化します。この機能は以前はネイティブにサポートされていませんでしたが、現在ではいくつかの効果的な手法が利用可能です。
プロキシ オブジェクトの使用 (ES6 ):
2018 年時点で、JavaScript が導入されました。プロキシ オブジェクト。オブジェクトの変更を監視するために特別に設計されています。ターゲット オブジェクトのプロキシを定義すると、プロパティの変更をインターセプトしてログに記録できます。
let targetObj = {}; let targetProxy = new Proxy(targetObj, { set: (target, key, value) => { console.log(`${key} set to ${value}`); return Reflect.set(target, key, value); } }); targetProxy.hello_world = "test"; // Logs 'hello_world set to test'
ネストされたオブジェクトに対する Observable Slim の利用:
ネストされたオブジェクトを処理する場合オブジェクトを使用する場合、Proxy オブジェクトを使用するのは難しい場合があります。このような場合は、入れ子になったデータ構造の変更の監視に特化した Observable Slim などのライブラリを活用することを検討してください。
let test = { testing: {} }; let p = ObservableSlim.create(test, true, (changes) => { console.log(JSON.stringify(changes)); }); p.testing.blah = 42; // Logs a JSON string detailing the 'add' change
非推奨のメソッド:
Object.watch や Object.defineProperty など、以前に使用できたメソッドは廃止されるか、肥大化したライブラリが必要になります。したがって、上記で説明したテクニックを使用することをお勧めします。
以上がJavaScript で変数の変更を効果的に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。