Vue 的響應式原理中 Object.defineProperty 有什麼缺陷?爲何在 Vue3.0 採用了 Proxy,拋棄了 Object.defineProperty?

  1. Object.defineProperty沒法監控到數組下標的變化,致使經過數組下標添加元素,不能實時響應;
  2. Object.defineProperty只能劫持對象的屬性,從而須要對每一個對象,每一個屬性進行遍歷,若是,屬性值是對象,還須要深度遍歷。Proxy能夠劫持整個對象,並返回一個新的對象。
  3. Proxy不只能夠代理對象,還能夠代理數組。還能夠代理動態增長的屬性。
相關文章
相關標籤/搜索