TS初めてのTypeScript

Day 1変数・基本型・関数

型注釈(: string など)と型推論

変数に「これは文字列」と書く型注釈と、TypeScriptが自動で判断する型推論を学ぶ。

「型」って何のためにあるの?

TypeScriptは、JavaScriptに「型」という仕組みを足した言語です。型とは、その値が「文字列なのか」「数値なのか」といった種類のこと。プログラムを動かす前に「ここには数値が入るはず」と宣言しておくと、間違った値を入れたときにエディタが赤線で教えてくれます。実行しなくても間違いに気づける、これが型の一番のうれしさです。

なぜAIプロダクト作りで型が効くのか

これからあなたは実装の多くをAIに任せます。AIが書いたコードは一見それらしく見えても、渡す値の種類がズレていることがあります。型があると、AIの出したコードをエディタに貼った瞬間に「ここ型が合いません」と赤線が出る。動かして初めて壊れるのではなく、書いた瞬間に気づけるのです。

型注釈:自分で型を書く

変数名のうしろに (型注釈)としてコロンと型名を書きます。「この箱には文字列だけ入れます」という宣言です。

TYPESCRIPT
// : string が「文字列型」という型注釈
const userName: string = "あかり";
const age: number = 28;
const isAdmin: boolean = false;

// 型に合わない値を入れると、実行前にエラーになる
// const wrong: number = "30"; // エラー: 文字列は number に代入できない
型注釈をつけて変数を宣言する

型推論:書かなくても分かってくれる

実は、初期値があれば型注釈を省略できます。TypeScriptが値を見て「これは文字列だな」と自動で判断してくれるからです。これを (型推論)といいます。省略しても型が消えるわけではなく、裏でちゃんと型が付いています。

TYPESCRIPT
// 型注釈を書かなくても、右の値から string と推論される
const city = "Tokyo";
// city は string 型として扱われる

// なので、あとで数値を入れようとするとエラーになる
// city = 100; // エラー: number は string に代入できない
型推論に任せる

冗長:分かりきった型まで全部書く

TYPESCRIPT
const title: string = "入門";
const count: number = 3;

推論に任せてすっきり

TYPESCRIPT
const title = "入門";
const count = 3;

AIにはこう聞く

「この変数、型注釈を書くべき?それとも型推論に任せていい?理由も教えて」と聞くと、書くべき場面(関数の引数や、初期値が曖昧なとき)と省略していい場面を整理してくれます。

  • 型注釈=自分で「: 型名」と書いて宣言する
  • 型推論=初期値から型を自動で判断してくれる
  • 初期値があるならふつうは推論に任せてよい
  • 関数の引数など、推論できない場所では注釈が必要になる

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

次のうち「型推論」を正しく説明しているものはどれ?

Q2

型注釈と型推論の違いを、初学者に説明するつもりで書いてください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。