1、vue使用的是object.defineProperty,vue3使用的是proxy+reflect

2、Object.defineProperty(vue2)一次只能监视一个属性,如果要监视一个对象,那么需要遍历这个对象
  但proxy+reflect代理整个对象,proxy+reflect对象defineProperty起到了降维打击

3、Object.defineProperty相当于比较单一,proxy+reflect代理的比较全面,有13种
  Object.defineProperty(vue2)不能监视的数组,监视的数组需要使用7个数组方法
  proxy+reflect(vue3)可以代理数组

4、Object.defineProperty(vue2)在添加属性直接$set+$nextTick

5/Object.defineProperty是ES5的语法,导致ES5对IE9低版本浏览器兼容性较好
  proxy+reflect是ES6的代码,浏览器兼容不好