• Object.defineProperty 只能劫持对象的属性,而且得深层遍历对象的每个属性
    • Proxy直接代理整个对象
  • Object.defineProperty 对新增的属性,需要手动递归进行响应式处理(即vm.$set()
    • Proxy直接代理整个对象
  • 作者出于性能考虑,Object.defineProperty 没有根据数组索引赋值直接进行响应式处理,而是hack了数组相关的api(原型链上额外插入一个原型对象)
    • Proxy直接代理整个对象,可以直接对数组的下标赋值
  • Proxy是ES6出的新语法,所以IE全线不支持