Proxy 與 Object.defineProperty 優劣對比


Proxy 的優勢如下:

  • Proxy 可以直接監聽對象而非屬性;
  • Proxy 可以直接監聽數組的變化;
  • Proxy 有多達 13 種攔截方法,不限於 apply、ownKeys、deleteProperty、has 等等是 Object.defineProperty 不具備的;
  • Proxy 返回的是一個新對象,我們可以只操作新的對象達到目的,而 Object.defineProperty 只能遍歷對象屬性直接修改;
  • Proxy 作為新標准將受到瀏覽器廠商重點持續的性能優化,也就是傳說中的新標准的性能紅利;

Object.defineProperty 的優勢如下:

  • 兼容性好,支持 IE9,而 Proxy 的存在瀏覽器兼容性問題,而且無法用 polyfill 磨平,因此 Vue 的作者才聲明需要等到下個大版本( 3.0 )才能用 Proxy 重寫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM