【入門編】 型注釈と型推論の優先順位 – TypeScript実践ガイド

こんにちは!TypeScriptの世界へようこそ。
「型」という言葉を聞いて、なんだか堅苦しいルールに縛られるような不安を感じていませんか?大丈夫です。最初はみんなそう感じます。

今日は、TypeScriptの心臓部とも言える「型注釈(自分で型を書くこと)」と「型推論(TypeScriptにお任せすること)」の絶妙なバランスについて、お話ししましょう。

—

TypeScriptは「超優秀な秘書」だと思ってください

TypeScriptを学ぶ上で一番大切なのは、彼を「厳しい教官」ではなく、「あなたのコードを全力で守ろうとしてくれる、めちゃくちゃ優秀な秘書」として捉えることです。

例えば、スーパーで「りんご」を買うときを想像してみてください。

  • 型注釈(明示): カゴにりんごを入れた後に「これは『りんご』です」と付箋を貼ること。
  • 型推論(推論): カゴに入れたりんごを見て、秘書が「あ、それ赤くて丸いから『りんご』ですね。私が覚えておきます!」と勝手に判断してくれること。

どちらが便利でしょうか?実は、TypeScriptの現場では「できるだけ秘書(型推論)に任せて、どうしても伝えたい時だけ付箋(型注釈)を貼る」のが、最も賢いやり方なんです。

—

型注釈と型推論の「優先順位」の真実

初心者の頃は、何でもかんでも型を書きたくなりますよね。
`let name: string = “たなか”;` と。

でも、TypeScriptは非常に賢いので、右辺を見ればそれが `string`(文字列)であることは一目瞭然です。わざわざ付箋を貼らなくても、「秘書」は完璧に理解しています。

なぜ「何でも書く」と疲れてしまうのか?

すべてに型注釈を書くと、コードが「型」で埋め尽くされ、本来の「やりたいこと(ロジック)」が見えにくくなります。これを「型による視覚的なノイズ」と呼びます。

// 悪い例:全部に付箋を貼ると、何をしているのか読みづらい
const name: string = “たなか”;
const age: number = 25;
const isStudent: boolean = true;

// 良い例:秘書にお任せすると、スッキリして読みやすい
const name = “たなか”; // 推論:stringだと分かっている
const age = 25; // 推論:numberだと分かっている
const isStudent = true; // 推論:booleanだと分かっている

—

現場で「型注釈」をあえて使うべき時とは?

では、「型注釈」は不要なのでしょうか?いいえ、そんなことはありません。ここからがプロの視点です。

1. 「空っぽの箱」を用意するとき

まだ中身が入っていないけど、後で必ず数値を入れたい場合、秘書は「中身がないから何を入れていいか分からない!」と混乱します。ここで初めて付箋(型注釈)の出番です。

// 初期値がないと、秘書は「何でもあり(any)」だと勘違いして危険!
let score: number; // 「ここは数字専用ですよ」と教えてあげると安心

score = 100; // OK
// score = “満点”; // エラー!秘書が「数字以外はダメですよ!」と止めてくれる

2. 関数の引数(入ってくるもの)

関数を使うとき、何が入ってくるかは相手次第ですよね。ここは「事故」を防ぐための最重要ポイント。引数には必ず型注釈を書きましょう。

// 誰が呼んでも間違えないように、入り口にルールを書いておく
function greet(name: string) {
return `こんにちは、${name}さん!`;
}

—

結論:型推論と仲良く付き合うコツ

TypeScriptの現場で一番大切なのは、「読みやすさ」です。

  • 型推論は「空気」: 書かなくても伝わるものは、あえて書かない。
  • 型注釈は「看板」: 複雑な関数や、後から他の人が読む場所には、看板を立てる。

初心者のうちは、「どこまで書けばいいの?」と迷うこともあるでしょう。でも、大丈夫。TypeScriptがもし「ここ、型が分からないから教えて!」とエラーを出してくれたら、その時だけ優しく教えてあげればいいんです。

TypeScriptは、あなたの書いたコードを誰よりも信頼して、誰よりも守ろうとしてくれる最強の相棒です。怖がらずに、まずは「推論」に任せて、コードをスッキリ書くことから始めてみてください。

もし詰まったら、いつでも戻ってきてくださいね。一緒に少しずつ、TypeScriptの達人を目指していきましょう!

コメント

タイトルとURLをコピーしました