[ES6] Proxy & Reflect

Proxy and Reflect API works nicely together.

About how to use Proxy, check this post.

Let's see about Reflect API:

const obj = {name: "foo"};
console.log(Reflect.get(obj, "name")); // "foo"

 

For proxy and Reflect, their API is really similar:

复制代码
const target = {name: "foo"};
const handler = {
    get: function(target, key){
      console.log("Accessd key", key);
      return Reflect.get(target, key); // using Reflect to get the value
    },
    set: function(target, key, value){
      console.log('Update key', key, "to", value);
      Reflect.set(target, key, value); // using Reflect to set the value
    }
  };

function logAccessToProperties(obj) {
  return new Proxy(obj, handler);
}

const l = logAccessToProperties(target);
console.log(l.name); //foo
l.age = 23
console.log(l.age ); //23
复制代码

 

posted @   Zhentiw  阅读(144)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-04-18 [Typescript] Generics using TypeScript
2017-04-18 [Linux] Use find to search for filename patterns
2017-04-18 [Git] How to rename your remote branch
2017-04-18 [Django] ModelViewSet from rest_framework and Router
2017-04-18 [Node.js] Take Screenshots of Multiple Dimensions for Responsive Sites using Nightmare
2017-04-18 [Webpack] Access Webpack Dev Server from Mobile Safari on an iPhone
2016-04-18 [Angular 2] Router basic and Router Params
点击右上角即可分享
微信分享提示