Reflect的作用,target,property,value,receiver代表啥

1.真的proxy

复制代码
let target ={name:'张三'}
let handler = {
  get(target,property,receiver){
    console.log(1,target,2,property,3,receiver)
    return Reflect.get(target,property,receiver)
  },
  set(target,property,value,receiver){
    console.log('a',target,'b',property,'c',value,'d',receiver)
    return Reflect.set(target,property,value,receiver)
  }
}
let proxy = new Proxy(target,handler)
console.log(proxy.name)
proxy.name = '李四'
// console.log(proxy.name)

以上代码用浏览器控制台运行下如下

可知target,property,value,receiver的值

不知道为啥这里的target换成多层的对象就不起作用了

复制代码
let target ={name:'张三',info:{age:18,sex:'男'}}
console.log(proxy.info.sex)
proxy.info.sex = '女'

2.自己写的proxy

很明显这里的reflect.get被return target[key]替代,

reflect.set被 '=' 替代

说明了reflect在proxy的作用

复制代码
let handler = {
  get(target, key, receiver) {
    console.log(1, target, 2, key, 3, receiver)
    return target[key];
  },
  set(target, key, value, receiver) {
    console.log('a', target, 'b', key, 'c', value, 'd', receiver)
    target[key] = value;
    return true;
  },
};
let target ={name:'张三'}
let proxy = new Proxy(target, handler);
console.log(proxy.name)
proxy.name = '李四'
console.log(proxy.name)
相关推荐
小小前端_我自坚强几秒前
Vue 3 使用心得
前端·javascript·vue.js
GBVFtou4 分钟前
浏览器嵌套兼容处理
前端
华仔啊6 分钟前
前端真的需要懂算法吗?该怎么样学习?
前端·javascript
笔尖的记忆10 分钟前
【前端架构和框架】react准备知识
前端·javascript
渣哥11 分钟前
从配置文件到 SpEL 表达式:@Value 在 Spring 中到底能做什么?
javascript·后端·面试
拜无忧19 分钟前
【小游戏】逃逸小球h5,登录背景,缺口逃逸小球多边形
前端
烛阴21 分钟前
Python 列表推导式:让你的代码更优雅、更高效
前端·python
文心快码BaiduComate21 分钟前
开工不累,双强护航:文心快码接入 DeepSeek-V3.2-Exp和 GLM-4.6,助你节后高效Coding
前端·人工智能·后端
快乐是一切25 分钟前
PDF底层格式之水印解析与去除机制分析
前端·数据结构
麋鹿原27 分钟前
Android Room 数据库之简单上手
前端·kotlin