ref<number>(), defineProps<{ ... }>() の背景)ref<number>() → 中に入れる値の型を宣言できる → 型ミスを防げるdefineProps<{ name: string }>() → 親からもらう props の型を明確にできるconst count = 0; // ← 数値だと思ってた
count.toUpperCase(); // ❌ エラー!数値に toUpperCase はない
🚩 型がないと「何が入るべきか」がわからない → 使い方を間違えても気づかない
ref → 型を固定できる】import { ref } from 'vue';
const count = ref<number>(0); // ← 最初から「これは number です」と宣言
count.value += 1; // OK!
count.value = 'Hello'; // ❌ エラー! string は入れられない
| 書き方 | 型 | 安全性 |
|---|---|---|
ref<number>(0) |
number 型のリアクティブ変数 |
間違った型が入れられない |
ref<string>('Hi') |
string 型 |
toUpperCase() が安全に使える |
🎯 「何が入るべきか」を決める → 型ミスを防ぐ。
defineProps の例】