【Node.js24.x】Proxy::Proxy()関数の使い方
Proxy関数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Proxy関数は、JavaScriptの組み込み機能の一つであり、既存のオブジェクトの振る舞いを監視・変更するための特別なProxyオブジェクトを作成する関数です。この関数を利用して生成されるProxyオブジェクトは、元のオブジェクト(ターゲットオブジェクト)に対する操作、例えばプロパティへの値の読み書きや、メソッドの呼び出しといった基本的な動作が実行される際に、その操作を「横取り」し、開発者が定義したカスタムロジックを差し込むことを可能にします。
Proxy関数は、監視対象となる元のオブジェクトと、どのような操作を横取りし、それぞれどのように処理するかを定義するハンドラーオブジェクトという、二つの引数を必要とします。このハンドラーオブジェクトに設定された様々な「トラップ」を通じて、プロパティへのアクセスを検証したり、特定の操作の実行をログに記録したり、あるいは存在しないプロパティへのアクセスに対して独自の振る舞いを定義したりすることができます。
この強力な機能により、元のオブジェクトのコードに一切変更を加えることなく、その動作に柔軟性やセキュリティ、あるいはデバッグのための監視機能などを追加できます。特に、フレームワーク開発やライブラリの実装において、オブジェクトの振る舞いを透過的に制御する場面で非常に有効活用されます。
構文(syntax)
1const target = {}; 2const handler = {}; 3const proxy = new Proxy(target, handler);
引数(parameters)
target, handler
- target: object: プロキシ化する対象のオブジェクト
- handler: object: プロキシの操作をカスタマイズするためのハンドラーオブジェクト
戻り値(return)
Proxy
Proxyコンストラクタは、新しいProxyオブジェクトを生成します。このProxyオブジェクトは、別のオブジェクト(ターゲット)に対する操作をインターセプトし、カスタマイズされた動作を定義するために使用されます。