こんにちは!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の達人を目指していきましょう!

コメント