红宝书专门提到了这一章节。

傀儡?
代理的存在,可以用作目标对象的替身,又完全独立于目标对象。

有了代理,操作目标对象,可以通过操作目标对象自身、代理来操作,绕过代理会少行为。

代理Proxy和映射Reflect - 图1
TODO 这里可以引入一个 MDN链接,其中vue3的底层原理也可以贴一下

Proxy

语法实践

虽然是 new Proxy,但是 Proxy.prototype 是 undefined,是空的,因此也就不存在实例化、instanceof 相关概念。
基础语法 Gitee

打印 proxy 变量
image.png

代码分多个部分,可以自由复制执行

手写捕获器也就是handler的过程,可以用 Reflect对象来操作。

代理可被阻止、可撤销,基础操作见基础语法。

在处理this/Date 时候会有限制。

api