プログラミングの用語一覧へ
このページの目次

型注釈とは?

最終更新:2026/08/18

3秒でわかる

変数引数戻り値がどんななのかをコードに書き添える記法。実行する前に矛盾を見つけ、エディタの補完を効かせるために使います。

もう少し詳しく

どういうものか

型注釈は、この変数には文字列が入る、この関数は数値を返す、といった型の情報をソースコードへ書き添える記法です。TypeScriptでは変数名の後ろに型を書き、Pythonでは同じ位置に書いた上で戻り値を矢印で示します。書いた情報はコンパイラや型チェッカが読み、実際の使われ方と矛盾していないかを実行前に確かめます。

なぜ必要か

型が無いと、間違いが見つかるのはその行を実行したときです。エラー処理の分岐など、めったに通らない経路に潜んだ取り違えは、本番で初めて表に出ます。型注釈があれば、保存した瞬間に矛盾が指摘されます。もうひとつの効き目は補完です。引数の型が分かっていればエディタが使えるメソッドを列挙できるので、ドキュメントを開く回数が目に見えて減ります。関数の使い方を説明するコメントとしても、本文より正確で古びにくい形になります。

具体例

// TypeScript type User = { id: number; name: string; email?: string }; function greet(user: User, times: number): string { return Array.from({ length: times }, () => `こんにちは、${user.name}さん`).join("\n"); } greet({ id: 1, name: "田中" }, "3"); // 実行前にエラーになる
# Python def total_price(prices: list[int], tax_rate: float = 0.1) -> int: return round(sum(prices) * (1 + tax_rate))

つまずきやすいところ

Pythonの型注釈は実行時に検査されないため、書いてあるからといって守られるわけではありません。実際に確かめるには mypy や pyright を別途走らせます。TypeScriptで多いのは、面倒になった箇所へ any を置く逃げ方です。any を1つ挟むと、そこから先の呼び出しは全部チェックの対象から外れます。分からない値には unknown を使い、絞り込んでから触ります。もうひとつは、null や undefined が入りうる値を型に反映し忘れる誤りで、実行時エラーの多くはここに集中します。

似た用語との違い

意味
型注釈型を人が明示的に書くこと
型推論書かなくても処理系が型を判断すること
型定義型そのものに名前を付けて宣言すること


初期値から分かる型まで全部書く必要はありません。関数の引数と戻り値を書き、中の変数は推論に任せるのが読みやすい配分です。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地型注釈プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

このコースが入っている学習分野

この用語を扱うコース

コース

TypeScript入門:型を付けて関数を書く

22レッスン
コース

TypeScript道場 fleama開発室の10問

10レッスン
コース

Python中級 内包表記・高階関数・クラス入門

58レッスン
TypeScriptコースの全編を見る