1.proxy有多达13种拦截方法,不限于apply、ownKeys、deleteProperty、has等是object.defineProperty不具备的。
2.proxy可以直接监听数组的变化,proxy可以直接监听对象而非属性。
vue2.0中,比如vm.arr.length–或者vm.arr[0]=100均不能触发视图更新;
如果想更新索引可以使用
vm.$set(vm.arr,0,100)
或者
vm.$delete(vm.arr,0);
3.proxy返回的是一个新对象,我们可以只操作新对象达到目的,不需要深度遍历监听,性能高于Object.defineProperty;而Object.defineProperty只能遍历对象属性直接修改。