"Vue2.x和Vue3.x有什么区别?"

Vue2.x和Vue3.x有什么区别?

1、重构响应式系统,使用 Proxy 替换 Object.defineProperty ,使用 Proxy 优势:

  • 可直接监听数组类型的数据变化
  • 监听的目标为对象本身,不需要像 Object.defineProperty 一样遍历每个属性,有一定的性能提升
  • 可拦截 applyownKeyshas 等13种方法,而 Object.defineProperty 不行
  • 直接实现对象属性的新增/删除

2、新增Composition API,更好的逻辑复用和代码组织

  • 重构 Virtual DOM
  • 模板编译时的优化,将一些静态节点编译成常量
  • slot 优化,将 slot 编译为 lazy 函数,将 slot 的渲染的决定权交给子组件
  • 模板中内联事件的提取并重用(原本每次渲染都重新生成内联函数)

3、代码结构调整,更便于Tree shaking,使得体积更小

4、使用Typescript替换Flow

PS:写作不易,如要转裁,请标明转载出处。
登录
注册
回顶部