• proxy的作用


    get()

    get方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(严格地说,是操作行为所针对的对象),其中最后一个参数可选。

    get方法的用法,上文已经有一个例子,下面是另一个拦截读取操作的例子。

    var person = {
      name: "张三"
    };
    
    var proxy = new Proxy(person, {
      get: function(target, property) {  //这里target就是代理的对象person,property就是代理的对象里的key属性
        if (property in target) {
          return target[property];
        } else {
          throw new ReferenceError("Property "" + property + "" does not exist.");
        }
      }
    });
    
    proxy.name // "张三"
    proxy.age // 抛出一个错误

    let target = { age: 18, name: 'Niko Bellic' }

    let handlers = {

      get (target, property) {

        return `${property}: ${target[property]}`

      },

      set (target, property, value) {

        target[property] = value

      }

    }

    let proxy = new Proxy(target, handlers)

    proxy.abc=3

    // target {age: 18, name: "Niko Bellic", abc: 3}

     注意:当你设置时走的set里面(例:proxy.abc=3),但是当你取值时走的是get里(例:proxy.abc),所以你想怎样设置,和你想取值时取什么样的结果要看get和set方法里怎样写
  • 相关阅读:
    sql server还原数据库(请选择用于还原的备份集)
    初学K3Cloud开发
    SQL-视图
    2019-07-31 C#基础知识学习
    2019-07-30 C#基础知识学习
    初学数据库
    什么时候该使用SUM()函数
    Mongo Document 校验
    Linux Mysql操作命令
    说一说Unsafe魔法类
  • 原文地址:https://www.cnblogs.com/chaoyuehedy/p/9571717.html
Copyright © 2020-2023  润新知