const target = {
foo: 'bar'
};
const handler = {
get(){
return 'intercepted';
}
};
const {proxy,revoke} = Proxy.revocable(target,handler);
console.log(proxy.foo);//intercepted
console.log(target.foo);//bar
revoke();
console.log(proxy.foo);//TypeError
- Proxy的revocable方法接收目标对象和handler,可以返回代理对象和revoke函数。
- 调用revoke函数,会撤销代理。
- 撤销代理之后,就不能够再调用代理。