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 「書き込みが効かない」問題のデバッグや、コンポーネントライブラリでの読み取り専用入力の検証に役立ちます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%