目前官方提供了13个拦截操作, 均可以在参数 handler 对象中定义, 具体如下: 方法说明返回值get(target, propKey, receiver)拦截对象属性的读取属性值set(target...readonly(res) : reactive(res); } return res; };}说明:track 是 Vue3 中用来进行依赖收集的函数, 当 target 的值发生了改变...对于 Symbol 上的一些内置方法的调用.对于 Vue3 中的 ref 对象, 这里说的不是模版引用的 ref, 是响应式的 ref, 一般是用响应式代理属性的 __v_isRef 标识位来区分, 一般通过...类的实例化对象, 其对外只暴露一个 value 属性用户获取和更改.shallowRef 函数是创建一个浅层 ref 对象, 浅层的函数在上面已经说过了, 浅层 ref 的内部值将会原样存储和暴露,并且不会被深层递归地转为响应式...value : toReactive(value); } get value() { trackRefValue(this); // 当有调用方时, 往this.dep中添加依赖 return