0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vue 3・TypeScriptでよく使う用語集

0
Last updated at Posted at 2026-07-30

Vue 3・TypeScriptでよく使う用語集

Vue 3とTypeScriptを学習している中で、よく登場する用語を自分なりに整理しました。

初学者の方や、これからVue 3・TypeScriptを学ぶ方の参考になれば幸いです。


Composition API

概要

Vue 3で追加された新しい記述方法です。

従来のOptions APIではdatamethodscomputedなど機能ごとにコードを書く必要がありましたが、Composition APIでは関連する処理を1つにまとめて記述できます。

特徴

  • ロジックを機能単位で管理できる
  • 再利用しやすい
  • TypeScriptとの相性が良い

ref

概要

リアクティブ(変更を検知して画面を更新する)な値を管理するためのAPIです。

const count = ref(0)

count.value++

値を変更すると画面も自動的に更新されます。

利用例

  • カウンター
  • 入力フォーム
  • ボタンのON/OFF状態

reactive

概要

オブジェクト全体をリアクティブに管理するためのAPIです。

const user = reactive({
  name: "山田",
  age: 20
})

refとの違い

ref

単一の値を管理する場合に利用します。

const name = ref("")

reactive

オブジェクト全体を管理する場合に利用します。

const user = reactive({
  name: "",
  age: 20
})

computed

概要

既存の値から新しい値を計算するためのAPIです。

const total = computed(() => price.value * quantity.value)

依存する値が変わると、自動的に再計算されます。

利用例

  • 合計金額
  • フィルター結果
  • 件数表示

watch

概要

値の変更を監視し、変更されたタイミングで処理を実行します。

watch(keyword, () => {

})

利用例

  • API呼び出し
  • バリデーション
  • ログ出力

Props

概要

親コンポーネントから子コンポーネントへデータを渡す仕組みです。

親
 ↓
子
<UserCard :name="userName" />

Emit

概要

子コンポーネントから親コンポーネントへイベントを通知する仕組みです。

子
 ↑
親
emit("save")

親側

<UserForm @save="saveUser" />

Propsとの違い

Props Emit
親 → 子へデータを渡す 子 → 親へイベントを通知する

Provide / Inject

概要

離れたコンポーネント同士でデータを共有する仕組みです。

通常はPropsを何段階も渡す必要があります。

親
 ↓
子
 ↓
孫

Provide / Injectを利用すると

親
 ↓
孫

のように直接データを取得できます。

メリット

  • Propsのバケツリレーを防げる
  • コンポーネント構造がシンプルになる

InjectionKey

概要

Provide / Injectで利用するキーに型を付けるための仕組みです。

export const userKey =
Symbol() as InjectionKey<User>

TypeScriptで安全にデータを扱えます。


Symbol

概要

重複しない一意の値を作成するJavaScriptの機能です。

const key = Symbol("user")

Provide / Injectのキーとして利用されることが多いです。


Symbol.for()

概要

同じ名前であれば同じSymbolを取得します。

const key = Symbol.for("user")

利用されるケース

  • HMR利用時
  • ライブラリ開発
  • 複数モジュールでキーを共有したい場合

コンポーネント分割

概要

画面を小さな部品へ分割する設計方法です。

Header

Sidebar

Button

Modal

Footer

メリット

  • 再利用しやすい
  • 保守しやすい
  • 可読性が向上する

Type

概要

TypeScriptで型を定義する方法です。

type User = {
  id: number
  name: string
}

Interface

概要

オブジェクトの構造を定義するための仕組みです。

interface User {
  id: number
  name: string
}

Typeとの違い

項目 interface type
主な用途 オブジェクトやクラスの構造を定義 幅広い型を定義できる
継承 extendsで継承できる &(Intersection型)で型を組み合わせられる
Union型 ×
Intersection型 ×(直接は不可)
宣言のマージ ○(同名ならマージされる) ×(エラーになる)
Mapped Types ×

v-model

概要

フォーム入力とデータを双方向に同期するディレクティブです。

<input v-model="name">

入力内容が自動的にデータへ反映されます。


defineProps

概要

Composition APIでPropsを定義するためのマクロです。

const props = defineProps<Props>()

defineEmits

概要

Composition APIでEmitを定義するためのマクロです。

const emit = defineEmits<{
  (e: "save"): void
}>()

defineExpose

概要

親コンポーネントから利用できるメソッドやプロパティを公開するためのマクロです。

親コンポーネントがref経由で子コンポーネントを操作したい場合に利用します。


onMounted

概要

コンポーネントが画面に表示された後、一度だけ実行されるライフサイクルフックです。

利用例

  • API取得
  • 初期データの読み込み
  • 初期化処理

onUnmounted

概要

コンポーネントが破棄される直前に実行されます。

利用例

  • タイマー解除
  • イベントリスナー解除

nextTick

概要

DOMの更新が完了した後に処理を実行するためのAPIです。

画面更新後の要素を操作したい場合に利用します。


Teleport

概要

コンポーネントを現在のDOM階層とは別の場所へ描画する機能です。

利用例

  • モーダル
  • ダイアログ
  • ツールチップ

Suspense

概要

非同期コンポーネントの読み込み中にローディング画面などを表示するための機能です。


Pinia

概要

Vue公式の状態管理ライブラリです。

コンポーネント間で共有したい状態を一元管理できます。

利用例

  • ログインユーザー情報
  • テーマ設定
  • ショッピングカート

Vue Router

概要

Vueアプリケーションの画面遷移を管理するライブラリです。

/login
/users
/posts

のようなルーティングを実現できます。


Vite

概要

Vue公式でも推奨されている高速なビルドツールです。

特徴

  • 起動が高速
  • ビルドが高速
  • HMRに対応

HMR(Hot Module Replacement)

概要

ページ全体を再読み込みせず、変更したモジュールだけを更新する機能です。

メリット

  • 状態を維持したまま変更を反映できる
  • 開発効率が向上する

ESLint

概要

コードの書き方やルール違反をチェックするLinterです。

TypeScriptと組み合わせるメリット

型情報も利用して静的解析できるため、

  • 未使用変数
  • 型安全でないコード
  • anyの過度な利用

などを検出できます。


Prettier

概要

コードを自動で整形してくれるツールです。

チーム開発ではESLintと組み合わせて利用されることが多く、コードスタイルを統一できます。


Vercel

概要

フロントエンドアプリケーションを簡単にデプロイできるクラウドサービスです。

GitHubと連携することで、リポジトリへPushするだけで自動デプロイできます。


まとめ

Vue 3・TypeScriptでは、リアクティブな状態管理、コンポーネント間のデータ受け渡し、型安全性など、多くの重要な概念があります。

最初は覚えることが多く感じますが、実際にアプリケーションを作りながら学ぶことで理解が深まります。私自身もVue 3とTypeScriptを用いたアプリ開発を通じて、各APIや仕組みへの理解を深めています。

今後も学習を継続し、理解した内容を整理しながらアウトプットしていきたいと思います。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?