Vue2.0和Vue3.0的区别
- 重构响应式系统,使用
Proxy
替换Object.defineProperty
,使用Proxy
优势:
- 可直接监听数组类型的数据变化
- 监听的目标为对象本身,不需要像
Object.defineProperty
一样遍历每个属性,有一定的性能提升 - 可拦截
apply
、ownKeys
、has
等13种方法,而Object.defineProperty
不行 - 直接实现对象属性的新增/删除
- 新增
Composition API
,更好的逻辑复用和代码组织 - 重构
Virtual DOM
- 模板编译时的优化,将一些静态节点编译成常量
-
slot
优化,将slot
编译为lazy
函数,将slot
的渲染的决定权交给子组件 - 模板中内联事件的提取并重用(原本每次渲染都重新生成内联函数)
- 代码结构调整,更便于
Tree shaking
,使得体积更小 - 使用
Typescript
替换Flow