isReadonly() 値が読み取り専用かチェックする
最終更新:2026-10-22
isReadonly() 値が読み取り専用かチェックする
isReadonly() は、値が readonly() によって作られた(ネストを含む)読み取り専用プロキシかどうかを判定します。
| グループ | リアクティビティ: ユーティリティ |
|---|---|
| 種類 | API |
| スコープ | コンポーネント内 |
| Vue バージョン | 3.0+ |
| SSR 対応 | 対応 |
📝 構文
isReadonly(readonly({})) // true
isReadonly(reactive({})) // false
⚙️ 引数
| value | 任意の値 |
|---|
戻り値:真偽値
▶ 例
以下のコードを編集して結果を確認しましょう:
出力:
Shows 'readonly object: true, reactive object: false'.
💡 ポイント
ℹ️ 補足 isProxy のうち読み取り専用プロキシだけを対象とする判定です。
💡 ヒント ライブラリコードでは、書き込みを試みる前に入力が読み取り専用かどうかをアサートできます。
🏷️ 関連ユーティリティ
💡 関連ケース
関連ケースは近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q readonly で包んだ ref はどう判定しますか?
A isReadonly(readonly(ref(1))) は true を返します。ref のラップも処理されます。
Q Object.isFrozen と同じですか?
A いいえ。readonly はプロキシ層であり、元のオブジェクトは凍結されません。
Q 判定して何の役に立ちますか?
A 「書き込みが効かない」問題のデバッグや、コンポーネントライブラリでの読み取り専用入力の検証に役立ちます。