vue2和vue3响应式原理的区别

vue2的响应式

核心:

对象: 通过defineProperty对对象的已有属性值的读取和修改进行劫持(监视/拦截)

数组: 通过重写数组更新数组一系列更新元素的方法来实现元素修改的劫持

//vue2响应式核心代码 略。。。(木空写了o(╥﹏╥)o)
Object.defineProperty(data, 'count', {
    get () {}, 
    set () {}
})

proxy代理对象参考网址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy

Reflect反射对象参考网址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy

vue3 响应式核心

  

vue3 使用proxy代理对象和Reflect反射对象组合实现响应式数据

你可能感兴趣的:(vue2和vue3响应式原理的区别)