isReadonly() Check Whether a Value Is Readonly
Last updated: 2026-10-22
isReadonly() Check Whether a Value Is Readonly
isReadonly() reports whether a value is a readonly proxy created by readonly().
| Group | Reactivity: Utilities |
|---|---|
| Kind | API |
| Scope | Component |
| Vue Version | 3.0+ |
| SSR Support | Yes |
📝 Syntax
isReadonly(readonly({})) // true
isReadonly(reactive({})) // false
⚙️ Arguments
| value | Any value |
|---|
Returns:Boolean
▶ Example
Edit the code below and see the live result:
Output:
Shows 'readonly object: true, reactive object: false'.
💡 Key Points
ℹ️ Note The readonly subset of isProxy.
💡 Tip Libraries can assert readonly inputs before attempting writes.
🏷️ Related Utilities
💡 Related Cases
More case studies coming soon.
📚 Related Tutorials
❓ FAQ
Q How to detect readonly(ref)?
A isReadonly(readonly(ref(1))) is true — refs are handled too.
Q Same as Object.isFrozen?
A No — readonly is a proxy layer; the source object is not frozen.
Q What is the use?
A Debugging failed writes or validating readonly inputs in component libraries.