isProxy() 値がプロキシかどうかを判定する
最終更新:2026-10-22
isProxy() 値がプロキシかどうかを判定する
isProxy() は値が reactive() または readonly() で作られたプロキシかどうかを判定します。
| グループ | リアクティビティ: ユーティリティ |
|---|---|
| 種類 | API |
| スコープ | コンポーネント内 |
| Vue バージョン | 3.0+ |
| SSR 対応 | 対応 |
📝 構文
isProxy(reactive({})) // true
isProxy(readonly({})) // true
isProxy(ref(1)) // false
⚙️ 引数
| value | 任意の値 |
|---|
戻り値:真偽値
▶ 例
以下のコードを編集して結果を確認しましょう:
出力:
Shows 'reactive is a proxy: true, readonly is a proxy: true'.
💡 ポイント
ℹ️ 補足 isReactive は書き込み可能なプロキシのみ、isReadonly は読み取り専用プロキシのみを判定します。isProxy はその両方に一致します。
💡 ヒント 「リアクティブなソースかどうか」を判定するときは、isProxy と isRef の組み合わせが便利です。
🏷️ 関連ユーティリティ
💡 関連ケース
関連ケースは近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q ref もプロキシですか?
A 違います。ref は独立したラッパーオブジェクトです(内部の値がプロキシのこともあります)。isProxy(ref(1)) は false です。
Q 実際のプロジェクトではどこで使われますか?
A ライブラリ開発やデバッグ時に、通常のオブジェクトとリアクティブなオブジェクトを区別して二重包装を避けるために使われます。
Q instanceof Proxy と同じですか?
A 違います。Proxy は instanceof では検出できません。Vue が提供する判定関数を使う必要があります。