isProxy() 判断是否为代理对象
最后更新:2026-10-22
isProxy() 判断是否为代理对象
isProxy() 判断值是否由 reactive() 或 readonly() 创建的代理。
| 分组 | 响应式·工具 |
|---|---|
| 类型 | API |
| 作用域 | 组件内 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
isProxy(reactive({})) // true
isProxy(readonly({})) // true
isProxy(ref(1)) // false
⚙️ 参数
| value | 任意值 |
|---|
返回值:布尔值
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
显示「reactive 是代理:true,readonly 是代理:true」。
💡 要点
ℹ️ 说明 isReactive 只认可写代理,isReadonly 只认只读代理,isProxy 两者都认。
💡 提示 判断“是不是响应式来源”时优先 isProxy + isRef 组合。
🏷️ 相关工具
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q ref 也算代理吗?
A 不算:ref 是独立包装对象(内部值才是代理),isProxy(ref(1)) 为 false。
Q 实际项目哪里会用到?
A 写工具库/调试时区分普通对象与响应式对象,避免重复包装。
Q 和 instanceof Proxy 一样吗?
A 不一样:Proxy 无法用 instanceof 检测,必须用 Vue 提供的判定函数。