前言
我们都知道vue3.x版本是通过 Proxy
来实现的,用以解决2.X的一些缺陷。
但是我最近通过看 vue
源代码发现它内部很多地方是 Proxy、Reflect
搭配一起使用的,例:
我们通过上面几张图可以看到
get、set、deleteProperty、has、ownKeys
都用了 Reflect
。
基于此,这就是我写这篇文章的缘由,那我们探索一下为什么要搭配这两使用。
Proxy
和 Reflect
概念
Proxy
:代理
,可以通过代理对象完成对目标对象的拦截,并在拦截后进行过滤和改写等操作,支持的拦截操作共13
种Reflect
:反射
,它提供拦截 JavaScript 操作的方法。这些方法与 Pro