1、Object.defineProperty 是 ES5 的方法,Proxy 是 ES6 的方法
2、DefineProperty 不能监听到数组下标变化和对象新增属性,Proxy可以
3、DefineProperty 是劫持对象属性,Proxy是代理整个对象
4、DefineProperty 局限性大,只能针对单属性监听,所以在一开始就要全部递归监听。Proxy对象嵌套属性运行时递归,用到才代理,也不需要维护特别多的依赖关系,性能提升很大,且首次渲染更快
5、DefineProperty 会污染源对象,修改时是修改源对象。Proxy是对原对象进行代理并返回一个新的代理对象,修改的是代理对象
6、DefineProperty 不兼容IE8,Proxy不兼容IE11
DefineProperty 和 Proxy的区别
最新推荐文章于 2024-10-09 07:00:00 发布