isReactive() 値がリアクティブかどうかを判定する

最終更新:2026-10-22

isReactive() 値がリアクティブかどうかを判定する

isReactive() は値が reactive()(またはそこから派生したプロキシ)で作られたものかどうかを判定します。

グループリアクティビティ: ユーティリティ
種類API
スコープコンポーネント内
Vue バージョン3.0+
SSR 対応対応

📝 構文

isReactive(reactive({}))  // true
isReactive(ref({}))       // true(ref の内部オブジェクトもプロキシされる)
isReactive({})            // false

⚙️ 引数

value任意の値

戻り値:真偽値

▶ 例

以下のコードを編集して結果を確認しましょう:

出力:

Shows 'reactive object: true, plain object: false, ref of object: true'.

💡 ポイント

ℹ️ 補足 reactive を readonly で包んでも isReactive は true を返します(読み取り専用の層を剥がして判定するため)。
💡 ヒント 再度 reactive() を呼ぶ前にチェックすることで、二重にラップされるのを防ぎます。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q ref(1) は true を返しますか?
A いいえ。プリミティブの ref はリアクティブなプロキシではないため、オブジェクトの ref だけが true になります。
Q readonly も検出できますか?
A readonly(reactive({})) は true を返します。純粋な readonly なら isReadonly を使ってください。
Q isProxy との関係は?
A isReactive は isProxy のうち書き込み可能なものに限定した判定です。より広い判定には isProxy を使います。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%