ES6-プロキシAPI
ES6は、プロキシを使用してメタプログラミングの執り成し形式を実装します。ReflectAPIと同様に、プロキシAPIはES6でメタプログラミングを実装するもう1つの方法です。Proxyオブジェクトは、基本的な操作のカスタム動作を定義するために使用されます。プロキシオブジェクトは、実際のオブジェクトに代わっていくつかの操作を実行します。
ES6プロキシに関連するさまざまな用語を以下に示します。
シニア番号 | 方法と説明 |
---|---|
1 | handler トラップを含むプレースホルダーオブジェクト |
2 | traps プロパティアクセスを提供するメソッド。これは、オペレーティングシステムのトラップの概念に類似しています。 |
1 | target プロキシが仮想化するオブジェクト。多くの場合、プロキシのストレージバックエンドとして使用されます。 |
構文
以下に示す構文は、プロキシAPI用です。ここで、 target 配列、関数、または別のプロキシなど、あらゆる種類のオブジェクトにすることができます。 handlerプロパティが関数であるオブジェクトです。これは、プロキシの動作を定義します。
const proxy = new Proxy(target,handler)
ハンドラーメソッド
ハンドラオブジェクトには、プロキシのトラップが含まれています。すべてのトラップはオプションです。トラップが定義されていない場合、デフォルトの動作は操作をターゲットに転送することです。いくつかの一般的なハンドラーメソッドは次のとおりです-
シニア番号 | 方法と説明 |
---|---|
1 |
handler.apply()
関数呼び出しのトラップ。 |
2 |
handler.construct()
新しいオペレーターの罠。 |
3 |
handler.get()
プロパティ値を取得するためのトラップ。 |
4 |
handler.set()
プロパティ値を設定するためのトラップ。 |
5 |
handler.has()
in演算子のTAトラップ。 |