Day 2・オブジェクト・配列・型に名前をつける
オブジェクトの型
オブジェクト(データのまとまり)にどんなプロパティがあるかを型で書く方法を学ぶ。
オブジェクトとは「名前つきのデータのまとまり」
プログラムでは、関係するデータをひとまとめにして扱いたい場面が多いです。たとえば「ユーザー」なら、名前・年齢・メールアドレスがセットになっています。こういう「複数の値を名前つきでまとめたもの」を(オブジェクト)と呼びます。
const user = {
name: "田中",
age: 30,
email: "tanaka@example.com",
};このオブジェクトが「どんな形なのか」を型で表せます。プロパティごとに型をつけるのが、オブジェクトの型注釈です。
const user: { name: string; age: number; email: string } = {
name: "田中",
age: 30,
email: "tanaka@example.com",
};なぜ形を型にするのか
型があると、user.name は文字列、user.age は数値、と決まります。存在しない user.nema(タイプミス)を書くとエディタが赤線で教えてくれます。データの形をあらかじめ約束しておくことで、間違ったアクセスをその場で防げます。
型がないと気づけない
const user = { name: "田中", age: 30 };
console.log(user.nema); // undefined になるだけ。実行するまで気づかない型があるとその場で分かる
const user: { name: string; age: number } = { name: "田中", age: 30 };
console.log(user.nema); // エラー: nema は存在しない存在しないプロパティを追加しようとしたり、型の合わない値を入れようとしても、TypeScriptが止めてくれます。次のコードはどちらもエラーになります。
const user: { name: string; age: number } = {
name: "田中",
age: "30", // エラー: age は number なのに文字列を入れている
};AIにはこう聞く
「このオブジェクトの型注釈を書いて」とAIに頼めば、形に合った型を提案してくれます。あなたは提案された型を読んで、プロパティ名や型が実際のデータと合っているかを確認するだけで済みます。実装はAIに任せ、型で守り、内容を説明できるようにしておくのが狙いです。
- オブジェクトは { キー: 値 } でデータをまとめたもの
- 型は { プロパティ名: 型; ... } の形で書く
- 存在しないプロパティや型違いはその場でエラーになる
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
オブジェクト { name: string; age: number } 型の変数に対して、正しいアクセスはどれですか。
オブジェクトに型をつけると、型をつけない場合と比べてどんな間違いを早く防げますか。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。