JavaScript之Proxy详解-2. Proxy的拦截操作

时间:2024-04-16 22:27:22

2.1 拦截操作种类

Proxy可以拦截的操作包括:getsethasdeletePropertyapply等。

2.2 示例

const target = {
  name'Alice',
  age30
};

const handler = {
  getfunction (target, prop{
    console.log(`Getting property "${prop}"`);
    return target[prop];
  },
  setfunction (target, prop, value{
    console.log(`Setting property "${prop}" to "${value}"`);
    target[prop] = value;
  }
};

const proxy = new Proxy(target, handler);

proxy.name; // 输出: Getting property "name", 然后输出 "Alice"
proxy.age = 31// 输出: Setting property "age" to "31"