2.3 小结

这一节内容,详细的介绍了数据代理在Vue的实现思路和另一个应用场景,数据代理是一种设计模式,也是一种编程思想,Object.definePropertyProxy都可以实现数据代理,但是他们各有优劣,前者兼容性较好,但是却无法对数组或者嵌套的对象进行代理监测,而Proxy基本可以解决所有的问题,但是对兼容性要求很高。Vue中的响应式系统是以Object.defineProperty实现的,但是这并不代表没有Proxy的应用。initProxy就是其中的例子,这层代理会在模板渲染时对一些非法或者没有定义的变量进行筛选判断,和没有数据代理相比,非法的数据定义错误会提前到应用层捕获,这也有利于开发者对错误的排查。