vue3-club/vue3-docs

关于 https://vue3js.cn/es6/ 相关代码

chengazhen opened this issue · 2 comments

相关问题我写在了代码里面

const target = {
  _id: '1024',
  name:  'vuejs'
}

const proxy = new Proxy(target, {
  get(target, propkey, proxy){
    if(propkey[0] === '_'){
      throw Error(`${propkey} is restricted`)
    }
    return Reflect.get(target, propkey, proxy) //这里target将会被改为 { name: [Circular], _id: '1024' },相当于改变了target,不理解这 
    一步是需要产生什么效果呢,如果不做任何操作也可以成功打印出来("vuejs")
  },
  set(target, propkey, value, proxy){
    if(propkey[0] === '_'){
      throw Error(`${propkey} is restricted`)
    }
    return Reflect.get(target, propkey, value, proxy)
  }
})

兄弟代码写的有点马虎哦,毕竟作为文档还是要认真一点

image

兄弟代码写的有点马虎哦,毕竟作为文档还是要认真一点

image

感谢建议,目前还没有审稿噢,后续会对全篇进行修正

Proxy的函数负责的是:拦截并定义拦截时具体的操作
Reflect的静态函数负责的是:最终执行对象的操作

上面的代码跟 return target[propkey] 效果是类似的,�不要这句会报错噢