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
の例】