问答题
vue2是基于Object.defineProperty来做的响应式系统,vue3是基于Proxy来做的响应式系统。defineProperty 不能监听到数组下标变化和对象新增属性,Proxy 可以;defineProperty 是劫持对象属性,Proxy 是代理整个对象,所以defineProperty需要遍历对象属性来做监听,Proxy则不用,性能提升很大,且首次渲染更快,这也就是为什么vue3采用Proxy的原因。
vue2是基于Object.defineProperty来做的响应式系统,vue3是基于Proxy来做的响应式系统。
defineProperty 不能监听到数组下标变化和对象新增属性,Proxy 可以;defineProperty 是劫持对象属性,Proxy 是代理整个对象,所以defineProperty需要遍历对象属性来做监听,Proxy则不用,性能提升很大,且首次渲染更快,这也就是为什么vue3采用Proxy的原因。
0
点击进入快速问答通道>>
热门公司面试题
热门面试单题