JavaScript ES6 Proxy

  • target:即目标对象
  • handler:是一个对象,代理 target 的指定行为
1const proxy = new Proxy(target, handler)
2let target = {
3  name: 'Tom',
4  age: 24,
5}
6
7let handler = {
8  get(target, key) {
9    // 获取target的值会触发次函数
10    console.log(`getting ${key}`)
11    return target[key] // 不是target.key
12  },
13  set(target, key, value) {
14    // 设置target的值会触发次函数
15    console.log(`setting ${key}`)
16    target[key] = value
17  },
18}