本文主要是介绍Vue - 你可以说一说Veu3采用的Proxy与Vue2采用的defineProperty相比有什么优势吗,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
难度级别:中高级及以上 提问概率:85%
在Vue3中,双向绑定的核心API采用了ES6的Proxy代理方案,替换了Vue2的Object.defineProperty方案,那么这是为什么呢?
先说Object.defineProperty,我们知道它主要通过内部的set和get方法,劫持需要处理的对象,判断属性是否更新。所以Object.defineProperty针对的主要是对象已有的属性数据,所以对属性的新增和删除很难检测到,监听数组的类似push、pop等api不友好,如果对象存在嵌套关系,则需要深层递归监听,比较耗费性能。
既然Object.defineProperty存在这么多问题,我们来看一下Proxy解决这些问题是否存在明显优势呢?代码如下
Javascript代码:
<script>
const people = {
name: '张三',hobby: ['运动', '唱歌']}let myProxy =
这篇关于Vue - 你可以说一说Veu3采用的Proxy与Vue2采用的defineProperty相比有什么优势吗的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!