TypeScript リファレンス

最終更新:2026-10-22

TypeScript リファレンス

アルファベット順の TypeScript 型リファレンス 70 項目:基本型、型の組み合わせ、関数とクラス、ジェネリクス、ナローイング、ユーティリティ型、設定と実践。

#
!非nullアサーション(後置 !)はコンパイラに「この値は今は間違いなく null/undefined ではない」と伝え、T | null | undefined を T に潰しま...
"a" | "b"リテラル型は「値そのもの」を型として扱います。"up"、1、true はすべて型です。単独では限られた用途しかありませんが、ユニオンと組み合わせると取りうる値を正確に限定できます。
(arg) => Rアロー関数は型注釈の構文を内蔵しています:パラメータの後のコロン、式そのものが戻り値です。アロー関数の変数に明示的に関数型を宣言すると、本体のパラメータと戻り値がすべて自動的に連動...
(arg: T) => R関数型式は「ある種の関数の形」を記述します:パラメータリスト + => + 戻り値((value: string) => string | null)。これを type エイリアス...
...rest: T[]残余パラメータは ...名前 の形で「残りのすべての実引数」を真の配列(...scores: number[])として収集し、関数が任意個数の同型引数を受け取れるようにします。ar...
.d.ts宣言ファイル(.d.ts)は「あるライブラリがどんな形をしているか」を記述するだけで、実装を含みません。これにより TypeScript は純粋な JS ライブラリに型チェックを提...
?: / readonly? はプロパティをオプショナル(存在しなくてもよい)としてマークし、readonly はプロパティを読み取り専用(代入後に変更不可)としてマークします。オブジェクト型で最もよく使わ...
@decoratorデコレータはクラス、メソッド、プロパティ、パラメータの前に付ける特殊な構文 @name です。1枚の関数で包んでクラスに振る舞い(ログ、検証、依存性の注入)を加え、クラス本体のコー...
[K in keyof T]マップ型は「キーを巡り、値を変換」します。[K in keyof T]: boolean は T の各キー K に対して同名の新しいプロパティを生成します。型を一括で変えるための組...
[key: string]: Tインデックスシグネチャは「キー名が固定されていないが、キーの値の型は統一されている」オブジェクトを記述します。例えば辞書、カウンタ、設定マッピングなどです。書き方は [key: s...
[T, U]タプルは「長さが固定で、位置ごとに型が異なる」配列型です。座標、キーと値のペア、関数の複数戻り値など、位置そのものに意味があるデータに適しています。
`${T}`テンプレートリテラル型は型レベルで文字列連結を行います。`${A}-${B}` は A、B のすべてのリテラルの組み合わせを列挙します。イベント名、ルート、CSS クラス名のような...
A
A & B交差型 A & B は複数の型のプロパティを 1 つに結合します。値は A と B を同時に満たさなければなりません。いくつもの小さなインターフェースを「ミックスイン式」に組み合わ...
A | Bユニオン型 A | B は「値が A または B のいずれかである」ことを表します。ユニオンの値を使う前には必ず先にナローイング(typeof、in など)を行い、コンパイラに今ど...
abstract class抽象クラス(abstract class)は「未完成の基底クラス」です。実装を含めることも、抽象メンバー(abstract area(): number)として宣言だけしてサブクラ...
anyany は「型チェックを放棄する」ことを意味します。どんな値もそれに代入でき、それ自身もどんな型にも代入できます。古い JS の移行や本当に未知の構造の処理には使えますが、その後の...
arg?: T? は省略可能パラメータ(渡さなくてもよい)を示し、= はパラメータにデフォルト値(省略時に自動的に使われる)を設定します。両者により呼び出し側は「必要な情報だけ」を渡せるようにな...
Array<T>配列型は「同じ型の要素の集まり」を表し、T[] と Array<T> の 2 通りの書き方があり、完全に等価です。リスト、コレクション、一括データに使います。
as型アサーション(as)はコンパイラに対して「私は君より詳しい。これを T として扱え」と伝えるものです。実行時の値を変えず変換も行わず、コンパイラの推論を上書きするだけです。コンパ...
as constas const はリテラル全体を最深部まで「凍結」した定数型にします。すべてのプロパティが readonly になり、すべての値がリテラル型(文字列、数値、ブーリアン)へ絞り込ま...
assertNever網羅性チェックは「ユニオン型のすべてのメンバーが処理されていること」を保証するコンパイル時の保険です。中核は assertNever の技法です。switch の default ...
Awaited<T>Awaited<T> は await の型レベルの効果を模倣します。Promise<T> を解いて T を得て、ネストした Promise(Promise<Promise<T>>)...
B
booleanboolean は true と false の 2 つの値だけを持ち、機能のオン/オフ、判定条件、比較の結果に使われます。
C
classクラスはデータと操作をまとめます。フィールドが状態を保持し、コンストラクタが初期化し、メソッドが振る舞いを定義します。new でインスタンスを作り、this は現在のインスタンスを...
class<T>ジェネリッククラス(class Stack<T>)は「クラスの構造」と「格納するデータの型」を結びつけます。Stack<number> のインスタンスには number しか出入り...
contextual文脈的型付け:関数リテラルが「型が既知の位置」(変数注釈、配列メソッドのコールバック、イベントハンドラ)に現れると、TS はそのパラメータ型を逆算します——注釈を手書きする必要はあ...
E
enum列挙型は関連する定数群を 1 つの名前空間の下にまとめ、メンバーは型でもあり値でもあります。数値列挙はデフォルトで 0 からインクリメント、文字列列挙は明示的に値を代入します。文字...
Exclude<T, U>Exclude<T, U> はユニオン型 T から「U に代入可能な」メンバーを取り除きます。大きなユニオンから関心のない分岐を切り落とすのによく使われます。その逆の操作である E...
F
function <T>ジェネリック関数は型パラメータ <T> で「型」を引数に変えます。同じ1つのロジックが複数の型に対応し、引数と戻り値の型が連動します。any より安全(型情報が保持される)で、型ご...
H
HTMLElement/EventDOM プログラミングの型はすべて TS 組み込みの DOM lib から来ます。要素には継承の階層(EventTarget → Node → Element → HTMLElem...
I
implementsimplements はクラスにインターフェースを「請け負わせ」ます。コンパイラは、クラスがインターフェースの要求する全メンバーを提供し、型も一致しているかを項目ごとに検査します。...
import/exportES Modules は JavaScript の公式のモジュール標準です。TypeScript は export/import の構文をそのまま使い、「型」もモジュールシステムに...
inin 演算子はあるプロパティ名がオブジェクト上に存在するかを調べ、TypeScript はこれを利用してユニオン型を「そのプロパティを持つメンバー」へナローイングます。ユニオンの各...
in / out型変は「複合型の中の型パラメータが全体の互換性にどう影響するか」を記述します。戻り値は共変(サブタイプで置き換え可能)、パラメータは反変(親型を受け取る関数で置き換え可能)。関数代...
inferinfer は条件型の真分岐の中で型を「捕まえ」ます。T extends Array<infer U> ? U : never は「T が配列なら、その要素型を取り出して U と呼...
instanceofinstanceof ガードは「クラス」のユニオンに使えます。ある値があるクラスのインスタンスかどうかを調べ、そうであれば TS はその型をそのクラスへナローイングます。JS のプ...
interfaceinterface は 1 つの名前でオブジェクトの構造を記述します。どのプロパティやメソッドがあり、それぞれの型は何かを規定します。コンパイル時にのみ存在し(トランスパイル後は完...
interface<T>ジェネリックインターフェースは名前の後に型パラメータを付け(interface ApiResult<T>)、「容器の形状」と「中身」を切り離します。ApiResult<UserBr...
K
keyofkeyof T はオブジェクト型 T のすべてのキー名を集め、リテラルユニオン型にします。keyof Settings は "volume" | "theme" です。キー名の型安...
kind判別可能ユニオン(tagged union とも呼ばれます)は、共通の判別フィールド(status、kind など)で一連の型を結び付け、各メンバーの判別フィールドに互いに異なるリ...
N
name(arg: T): R関数の注釈は、パラメータと戻り値の型を明示します。呼び出し側は「何を渡し、何が返るか」をひと目で把握でき、誤った型はコンパイル時に弾かれます。注釈がなくても TS の推論が補ってく...
narrowingユニオン型は複数の可能性を1つの変数にまとめます。使う前には、その変数が今どの型なのかを「確かめる」必要があります。広い型を具体的な型へ縮めるこの過程をナローイングと呼びます。Ty...
nevernever は「決して値にならない」ことを表します。エラーを投げる関数や無限ループする関数が返す型です。型レベルではすべての型のサブタイプであり、最も有名な使い方は switch ...
new () => T構築シグネチャ new (name: string) => T は「この値は new して T を作れる」と記述します。クラスそのもの(インスタンスではなく)を引数として渡すときに...
NonNullable<T>NonNullable<T> は型 T から null と undefined を取り除きます。フィールドの宣言上は空を許すが、ここまで来る時点では業務が非空を保証している、という...
null / undefinednull は「意図的に空である」ことを表し、undefined は「まだ代入されていない/存在しない」ことを表します。strictNullChecks を有効にすると両者は独立した...
numbernumber は整数と小数をまとめて表します。JS にはこの 1 種類の数値型しかありません。カウント、金額、座標、タイムスタンプはすべて number で注釈します。
O
object typeオブジェクト型は「プロパティ名: 型」の構造でオブジェクトを記述します。1 回しか使わないならインラインで書き、再利用するなら interface か type に任せます。TS ...
Omit<T, K>Omit<T, K> は T から K で指定したプロパティを「取り除き」、残りで新しい型を作ります。典型場面は機密情報の除去(passwordHash を外す)や、データベースの...
overloadsオーバーロード宣言は、1つの関数に複数の「シグネチャ説明書」を持たせます。呼び出し側は実引数の形に応じて正確な戻り値型を得られ、実装本体は1つだけ書きます。TS は宣言の順に1つず...
P
Parameters<T>Parameters<T> は関数型 T のパラメータのリストを取り、結果はタプル型になります。これがあれば「引数の束」を丸ごと格納、受け渡し、転送でき、[string, numb...
Partial<T>Partial<T> は T のすべてのプロパティをオプショナルにします。典型的な場面は「部分更新」(フォームの下書き、patch 系の API)で、「2つのフィールドだけ変える」...
Pick<T, K>Pick<T, K> は T から K で指定したプロパティを「選び出し」、新しい型を作ります。大きな型の一部分だけが必要なとき(リストの要約、サブセットのパラメータなど)、重複し...
Promise<T>非同期型は Promise<T> を軸に展開します。async 関数の戻り値の型は自動的に Promise で包まれ、await が値のレベルでそれを解きます。ツール型の Awai...
public / private / protectedアクセス修飾子はメンバーの可視性を制御します。public(デフォルト、内外どこからでもアクセス可)、private(クラス内部のみ)、protected(クラス内部とサブクラス)...
R
Readonly<T>Readonly<T> は T のすべてのプロパティを読み取り専用にします。オブジェクト生成後にプロパティへ代入しようとすると、コンパイラが即座にエラーを出します。設定オブジェクト...
Record<K, V>Record<K, V> は「キーが K、値が V」のオブジェクト型を構築します。K にはリテラルのユニオン(列挙の対応表)も string/number(開かれたキャッシュオブジ...
ReturnType<T>ReturnType<T> は関数型 T の戻り値の型を取ります。最もよくある書き方は ReturnType<typeof someFn> です。関数がどう実装され、どんな構造を返...
S
stringstring はテキスト値を表します。名前、メッセージ、ID など、文字として扱われるデータはすべて string で注釈します。日常のコードで最も頻繁に登場する型です。
symbol / bigintsymbol はグローバルに一意で重複しない値を作り、オブジェクトのキーや定数の識別子に適しています。bigint は任意精度の整数を表し、number の安全な範囲を超える大きな...
T
T = Default型パラメータにはデフォルト値を付けられます(<T = string>)。指定しなければデフォルト型が採用され、指定すればその値が使われます。関数のデフォルト引数と同じ発想です——「...
T extends U制約(extends)は型パラメータに「範囲を定め」ます。<T extends HasId> は「T は少なくとも id: number を持つ」と約束します。制約の内側では T ...
T extends U ? X : Y条件型は型に「選択問題」を解かせます:T extends U ? X : Y ——条件を満たせば X、さもなければ Y を選びます。実行時の三項判定を型レベルに持ち込み、ジェネリッ...
try / catchTS のエラー処理には2つのつらみがあります。1つは catch の err が厳格モードでは unknown であること(JS はどんな値でも throw できるため、コンパイラ...
tsconfig.jsontsconfig.json は TypeScript プロジェクトの「マスタースイッチ」のファイルです。プロジェクトのルートに置かれ、コンパイラ(tsc)にどのファイルを何にコンパ...
typetype は任意の型に名前を付けます。オブジェクト、ユニオン、タプル、関数、リテラルのすべてに名前を付けられます。最も適用範囲の広い型の命名方式で、interface と並びます。
typeoftypeof ガードは最もよく使われる型ガードです。実行時に typeof で値の型文字列を調べると、TypeScript はその判定に沿ってユニオン型を対応する分岐へナローイング...
U
unknownunknown は「安全な any」です。どんな値も代入できますが、使う前には必ず絞り込むかアサートする必要があり、そうしないとコンパイラは通しません。外部入力(API レスポンス...
V
voidvoid は「関数に意味のある戻り値がない」ことを表します。ログ関数やイベントコールバックによく使われ、呼び出し側に「戻り値を期待しないで」と伝えます。
X
x is T組み込みガード(typeof/instanceof/in)で足りないときは、自分で型ガード関数を書けます。戻り値を x is T(型述語)とすれば、関数が true を返した分岐内...
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%