Day 1・変数・基本型・関数
型注釈(: string など)と型推論
変数に「これは文字列」と書く型注釈と、TypeScriptが自動で判断する型推論を学ぶ。
「型」って何のためにあるの?
TypeScriptは、JavaScriptに「型」という仕組みを足した言語です。型とは、その値が「文字列なのか」「数値なのか」といった種類のこと。プログラムを動かす前に「ここには数値が入るはず」と宣言しておくと、間違った値を入れたときにエディタが赤線で教えてくれます。実行しなくても間違いに気づける、これが型の一番のうれしさです。
なぜAIプロダクト作りで型が効くのか
これからあなたは実装の多くをAIに任せます。AIが書いたコードは一見それらしく見えても、渡す値の種類がズレていることがあります。型があると、AIの出したコードをエディタに貼った瞬間に「ここ型が合いません」と赤線が出る。動かして初めて壊れるのではなく、書いた瞬間に気づけるのです。
型注釈:自分で型を書く
変数名のうしろに (型注釈)としてコロンと型名を書きます。「この箱には文字列だけ入れます」という宣言です。
// : string が「文字列型」という型注釈
const userName: string = "あかり";
const age: number = 28;
const isAdmin: boolean = false;
// 型に合わない値を入れると、実行前にエラーになる
// const wrong: number = "30"; // エラー: 文字列は number に代入できない型推論:書かなくても分かってくれる
実は、初期値があれば型注釈を省略できます。TypeScriptが値を見て「これは文字列だな」と自動で判断してくれるからです。これを (型推論)といいます。省略しても型が消えるわけではなく、裏でちゃんと型が付いています。
// 型注釈を書かなくても、右の値から string と推論される
const city = "Tokyo";
// city は string 型として扱われる
// なので、あとで数値を入れようとするとエラーになる
// city = 100; // エラー: number は string に代入できない冗長:分かりきった型まで全部書く
const title: string = "入門";
const count: number = 3;推論に任せてすっきり
const title = "入門";
const count = 3;AIにはこう聞く
「この変数、型注釈を書くべき?それとも型推論に任せていい?理由も教えて」と聞くと、書くべき場面(関数の引数や、初期値が曖昧なとき)と省略していい場面を整理してくれます。
- 型注釈=自分で「: 型名」と書いて宣言する
- 型推論=初期値から型を自動で判断してくれる
- 初期値があるならふつうは推論に任せてよい
- 関数の引数など、推論できない場所では注釈が必要になる
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
次のうち「型推論」を正しく説明しているものはどれ?
型注釈と型推論の違いを、初学者に説明するつもりで書いてください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。