目前官方提供了13个拦截操作, 均可以在参数 handler 对象中定义, 具体如下: 方法说明返回值get(target, propKey, receiver)拦截对象属性的读取属性值set(target...(state); // true, 当 state.a的值变化时, 可以被监听isReactive(state.b); // false, 内层对象非响应式, 会原样返回这几种类型都是通过 createGetter...数组的查找方法是需要对数组的每个元素进行依赖收集的, 即针对于每个元素都要 track(arr, "get" /* GET */, i + '') 一下, 原因很简单, 因为数组元素的改变会直接影响这几个方法的返回值...而__v_isRef、__isVue 都是自定义的一些私有的布尔值属性, 不需要对其进行监听...._dirty = true; // 是否被引用, true为未被引用 // 副作用处理器件, 主要是当有地方引用computed时, 进行依赖收集和处理 this.effect = new