>[danger]Vue2和Vue3的区别 1. **更灵活的响应式系统**:Vue 2.x 中响应式系统的核心是 **Object.defineProperty**,劫持整个对象,然后进行深度遍历所有属性,给每个属性添加`getter`和`setter`,实现响应式。Vue 3.x 中使用 **Proxy**对象重写响应式系统。 2. **更快的渲染速度**:Vue3 的编译器生成的渲染函数比 Vue2 生成的更高效。 3. **编译阶段**:Vue 2.x 通过标记静态节点,优化 diff 的过程。Vue 3.x中**标记和提升**所有的静态节点,diff的时候**只需要对比动态节点**内容。 4. **更小的体积**:Vue3 将源码拆分为多个独立的模块,这样就可以按需导入所需的模块,从而减小了整个库的体积。 5. **更好的 TypeScript 支持**:Vue3 对 TypeScript 的支持更加友好,内部使用了更先进的 TypeScript 特性,并为其提供了更好的声明文件。 6. **更好的组件系统**:比如,Vue3中引入了一个新的 `Fragment` 组件,它可以替代原来的 `template` 标签作为根节点 7. **新增了setup组合式API**