computed 算出プロパティ(Options API)

最終更新:2026-10-22

computed 算出プロパティ(Options API)

computed オプションは派生値を宣言します。依存が変わると自動的に再計算されてキャッシュされ、テンプレートでは通常のプロパティと同じように使えます。

グループオプション: 状態
種類オプション
スコープコンポーネント内
Vue バージョン3.0+
SSR 対応対応

📝 構文

export default {
  data() { return { price: 10, qty: 2 } },
  computed: {
    total() { return this.price * this.qty }
  }
}

⚙️ 引数

valueオブジェクト:キーは算出プロパティ名、値は getter 関数(get/set のペアも可)

戻り値:プロパティと同じように読み取れます。依存が変わるまでキャッシュされます

▶ 例

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

出力:

Shows 'Total: 20' and recalculates on any input change.

💡 ポイント

💡 ヒント methods より computed を優先してください。computed はキャッシュされますが、methods は毎回のレンダリングで再実行されます。
⚠️ 注意 getter 内には副作用(リクエストや代入)を書かないでください。それらは watch の役割です。
ℹ️ 補足 書き込み可能な算出プロパティ(フルネームの分割・結合など)には、get/set のオブジェクト形式を使います。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q methods との違いは何ですか?
A computed は依存に基づいてキャッシュされます。methods はアクセスのたびに再実行され、プロパティのようにバインドできません。
Q テンプレートで括弧が不要なのはなぜですか?
A プロパティとして読み取られる(getter が自動実行される)ためです。this.total であり this.total() ではありません。
Q props に依存できますか?
A できます。props からの派生は最も一般的なパターンで、computed は prop の変化に合わせて自動更新されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%