Proxyオブジェクトがサポートされたことで、 JavaScriptにでもオブジェクト操作が柔軟に拡張できるようになった。 これにより処理を動的に拡張するメタプログラミングできる。 ということで、参考になりそうな事例があったので試してみた。 caniuseでProxyのサポートを見るとモダンブラウザでは実装済である。 まず、Proxyオブジェクトをおさらいする。 Proxyオブジェクト基本構文は次の通り // target const target = {}; // handler const handler = { // trap get(target, property) { return Reflect.get(target, property); } } const proxy = new Proxy(target, handler); targetはProxyで拡張するオブジェク