Object.defineProperty 不足
无法监听数组的变化:数组的这些方法是无法触发 set 的:push, pop, shift, unshift,splice, sort, reverse.,vue 中能监听是因为对这些方法进行了重写
只能监听属性,而不是监听对象本身,需要对对象的每个属性进行遍历。对于原本不在对象中的属性难以监听。
针对 Object.defineProperty 的缺点,ES6 Proxy 都能够完美得解决,它唯一的缺 点就是,对 IE 不友好,所以 vue3 在检测到如果是使用 IE 的情况下(没错,IE11 都不支持 Proxy),会自动降级为 Object.defineProperty 的数据监听系统。