- 写单测
- 让单测通过
- 重构
- 优化
先去写一个特定的行为 -> 重构成通用的行为
- 将一些语义化不是很好的函数抽离出来,如 createActiveObject、extend 等
- 注意一致性,对 get、set 同时进行封装
- 注意缓存一些常量,如 get、set 等
- 面向对象的形式,可以将一些东西抽象成类,如 ReactiveEffect 等
- Object.assign()
- Object.is()
- 5..toString('2) -> '101'
- ShapeFlags 位运算 & |
- component.emit = emit.bind(null, component)
- 作用域插槽
- currentInstance = instance; 用函数包裹起来,方便调试
- parentComponent 为父组件实例,根组件为 null
- container 为容器 Dom,根组件的容器为 #app 的 div,其 children 的容器为父元素
- vnode 的 el 为根元素的 Dom